通過JS實現氣泡排序

2021-10-02 23:41:26 字數 1134 閱讀 7230

氣泡排序的三個版本:

先說最簡單的排序,嚴格說不屬於氣泡排序。

原理:當i=0時,讓arr[0](在第一位的數字)和後面每一位的數字比較。

若出現第一位的數字比其中一位大的時候,則和那一位數字交換位置。

當第一位數字和其他數字全部比較和互換結束,此時在第一位的數字就是陣列中最小的。

然後當i=1時,讓arr[1]和後幾位再這樣比較和互換,這樣下來第二位就是除了第一位最小的了。

以此類推,就可以得到最後的排序,方法如下:

function

bubblesort

(arr)}}

return arr;

}var arr=[15

,3,83

,10,18

,99,4

,63,28

,47];

bubblesort

(arr)

;

正常的氣泡排序。

原理:總體來說,正如其字面意思,將小的數字如同氣泡一樣慢慢的浮上表面。

若陣列中有10個數字,先用arr[9] (最後一位的數字)和arr[8]比較大小,若arr[9]function

bubblesort

(arr)}}

return arr;

}var arr=[15

,3,83

,10,18

,99,4

,63,28

,47];

bubblesort

(arr)

;公升級版氣泡排序。

原理:在正常版本的氣泡排序中,若初始陣列為var arr=[2,1,3,4,5,6,7,8,9],則第一輪過後就已經是最終排序,但還是要將後面的迴圈全部執行一遍。所以在公升級版氣泡排序中新增了flag標記 。

若出現無論j的值是多少,if(arr[j]function

bubblesort

(arr)}}

return arr;

}var arr=[15

,3,83

,10,18

,99,4

,63,28

,47];

bubblesort

(arr)

;

JS實現氣泡排序

氣泡排序的重要思想 相鄰資料對之間比較 比較完後大數始終大數在小數後面於是每一次相鄰資料對比較完後,大數就往上冒一點 所以,當資料為正序排列時 最好情況 比較次數,移動次數,時間複雜度最小 比較次數為 n 1 次 移動次數為 0 次 時間複雜度為 o n 然而,當資料為反序排列時 最差情況 比較次數...

JS實現氣泡排序

1.氣泡排序 思路 a 比較兩個相鄰的元素,如果後乙個比前乙個大,則交換位置 b 第一輪的時候最後乙個元素應該是最大的乙個 c 按照第一步的方法進行兩個相鄰的元素的比較,由於最後乙個元素已經是最大的了,所以最後乙個元素不用比較。function sort element console.log el...

JS實現氣泡排序

1,演算法簡介 氣泡排序是一種簡單的排序演算法,它的工作原理是重複走訪要排列的元素,一次比較兩個元素,若兩個元素有錯誤,則將它們交換,直到沒有元素再交換,排序結束。2,演算法描述 1 比較相鄰元素,如果第乙個比第二個大,就交換 2 對每一對相鄰元素作相同的工作,從第一對到最後一對,最後那個元素會是最...