說明
原理依次比較相鄰的兩個值,如果後面的比前面的小,則將小的元素排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。
時間複雜度,空間複雜度,穩定性
氣泡排序的寫法
var examplearr=[8,94,15,88,55,76,21,39];
function sortarr(arr)}}
return arr;
}sortarr(examplearr);
console.log(examplearr);
解析
兩個迴圈
當i=0的時候,裡面的迴圈完整執行,從j=0執行到j=6,這也就是第一遍排序,結果是將最大的數排到了最後,這一遍迴圈結束後的結果應該是[8,15,88,55,76,21,39,94]
當i=1的時候,裡面的迴圈再次完整執行,由於最大的數已經在最後了,沒有必要去比較陣列的最後兩項,這也是j說到這裡,規律就清楚了,每次將剩下陣列裡面最大的乙個數排到最後面,當第乙個迴圈執行到最後的時候,也就是i=6,此時,j=0,只需要比較陣列的第一和第二項,比較完畢,返回。
Js氣泡排序詳解
氣泡排序是一種簡單的排序演算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果它們的順序錯誤就把它們交換過來。走訪數列的工作是重複地進行直到沒有再 需要交換,也就是說該數列已經排序完成。兩兩相比較,比較相鄰的元素。如果第乙個比第二個大,就交換它們兩個 對每一對相鄰元素作同樣的工作,從開始第一對到...
js氣泡排序詳解
原理 依次比較相鄰的兩個值,如果後面的比前面的小,則將小的元素排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。寫法 詳解 兩個迴圈,第乙個迴圈是迴圈遍歷陣列,i表示陣列下標,第二個迴圈則是判斷陣列元素下標為i和下標為i 1的元素的大小。如果下標為i的元素大於洗標為i 1的元素,則將下標為...
js氣泡排序詳解
js中的氣泡排序,就是把相鄰的兩個資料進行比較,如果順序相反就交換位置,直到所有的資料按照公升序 從小到大 或降序 從大到小 的方式進行排列 例 var arr 5,4,3,2,1 用氣泡排序把這個陣列公升序排列,也就是把陣列變為 1,2,3,4,5 第一輪 arr 5,4,3,2,1 1 比較5和...