冒泡排序原理
阿新 • • 發佈:2018-08-01
一個 com 技術 控制 效果 個數 添加 外部 順序
冒泡排序原理 :比較緊鄰的兩個數,若位置不對,交換位置。
比如需對以下數組進行冒泡排序(按從小到大順序進行排序)
var nums = [44,33,22,11]; // [11,22,33,44]
// 【第一趟】 [44,33,22,11] //比較3次
// 第1次比較: [33,44,22,11]
// 第2次比較: [33,22,44,11]
// 第3次比較: [33,22,11,44]
// 【第二趟】 [33,22,11,44] //比較2次
// 第1次比較:[22,33,11,44]
// 第2次比較:[22,11,33,44]
// 【第三趟】 [22,11,33,44] //比較1次
// 第1次比較:[11,22,33,44]
上面是手動 比較的原理:
從上面的手動比較結果可以得出以下結論:
由此可見:一個數組要排序完成,總共進行數組長度-1趟排序,每1趟的排序次數為((數組長度)-趟數)次,所以可以用雙重循環語句,外層控制循環多少趟,內層控制每一趟的循環次數,即
for(var t=1;t<nums.length;t++){ //外部循環趟數
for(var i=0;i<nums.length-tang;i++){ //內部循環次數
}
}
所以代碼如下:(我為了讓效果在後面又隨意在數組裏添加了兩個數字)
打印效果看下面:
冒泡排序原理