JavaScript數組_冒泡排序(二十八)

思路:

將數組元素從下標爲0與下標爲1,arr[i]與arr[i+1]逐次開始兩兩比較arr.length-r-1,共進行arr.length-1輪,每一輪比較後將排出一位最大值。數組

先聲明外循環輪數 r的區間範圍是,應該是從第一次開始,比元素個數arr.length少一次bash

每輪arr[i]與arr[i+1]兩兩逐次比較,比較完第一輪後,將把數組最大的元素排在最後markdown

第二輪比較的時候,就不須要再去重複比較第一輪排出的下標爲arr.length-1的最大的元素,排的是第二大的元素oop

由於arr[i]與arr[i+1]作比較,要保證下標i+1是最大下標,因此i<arr.length-2,ui

根據循環輪數r,與i的規律,每循環一輪,將排好一位元素,且再一輪就不須要重複排已經排好隊的,依次類推,每次排好一輪以後,將arr.length-1。spa

具體代碼code

//因此將下標i的區間範圍在i<arr.length-r
 for(var r=1;r<arr.length;r++){  
//根據循環輪數r,與i的規律,每循環一輪,將排好一位元素,且再一輪就不須要重複排已經排好隊的,依次類推,每次排好一輪以後,將arr.length-r
 	for(var i=0;i<arr.length-r;i++){                  
 		if(arr[i]>arr[i+1]){                         
 			                                             
 		var temp;              //知足條件,兩兩交換位置                           
 		temp=arr[i];            //不知足則跳出後,保持不變繼續下一輪
 		arr[i]=arr[i+1];
 		arr[i+1]=temp;			     		
 		}			     			     		
 	}
 }	console.log(arr)	
}複製代碼

下節預告:字符串_建立_length

參考視頻教程:www.3mooc.com/front/couin…

相關文章
相關標籤/搜索