冒泡排序:比較任何兩個相鄰的項,如果第一個比第二個大則交換位置。
原理如下圖:比較相鄰,就好像氣泡上升到表面,因此而得名“冒泡”。
代碼:
//冒泡排序
var BubbleSort =function(array) {
var length = array.length;
for (var i = 0; i < length -1; i++){
//減少上次循環確認的值所以減i提高性能
for (var j = i ;j < length -1 -i ;j++){
if (array[j] > array[j+1]){
exchange(array,j,j+1)
}
}
}
console.log(array)
}
//比較元素交換位置
var exchange = function(array,index1,index2) {
var aux =array[index1];
array[index1] = array[index2];
array[index2] = aux
}
BubbleSort([4,2,56,7,3,11,7]);
溫馨提示:
冒泡是排序中最簡單的,但在運行時間的角度來看是最差的一個。