氣泡排序的重要思想:相鄰資料對之間比較 比較完後大數始終大數在小數後面於是每一次相鄰資料對比較完後,大數就往上冒一點
所以,當資料為正序排列時(最好情況:比較次數,移動次數,時間複雜度最小),比較次數為 n-1 次 移動次數為 0 次 時間複雜度為 o(n)
然而,當資料為反序排列時(最差情況:比較次數,移動次數,時間複雜度最小),比較次數為 n(n-1)/ 2 次 移動次數3*n(n-1)/ 2 次 時間複雜度為 o(n^2)
具體演算法的js實現,如下:
function bubblesort(arr)}}
return arr;
}var arr1=[6,7,8,9,0,2,89,9,99,876,87,2];
console.log(arr1);
console.log(bubblesort(arr1));
結果如下:
JS實現氣泡排序
1.氣泡排序 思路 a 比較兩個相鄰的元素,如果後乙個比前乙個大,則交換位置 b 第一輪的時候最後乙個元素應該是最大的乙個 c 按照第一步的方法進行兩個相鄰的元素的比較,由於最後乙個元素已經是最大的了,所以最後乙個元素不用比較。function sort element console.log el...
JS實現氣泡排序
1,演算法簡介 氣泡排序是一種簡單的排序演算法,它的工作原理是重複走訪要排列的元素,一次比較兩個元素,若兩個元素有錯誤,則將它們交換,直到沒有元素再交換,排序結束。2,演算法描述 1 比較相鄰元素,如果第乙個比第二個大,就交換 2 對每一對相鄰元素作相同的工作,從第一對到最後一對,最後那個元素會是最...
js實現氣泡排序
氣泡排序就是相鄰的兩個數進行比較,將大的放在後面,小的放在前面。換句話說就是,前面的數比後面的數大,就交換位置,否則不換位置,以陣列 5156455 8654 第一趟排序 第一次 51和56比較,不交換位置 5156455 8654 第二次 56和45比較,交換位置 5145565 8654 第三次...