上**:
const arr = [ 10, 2, 4, 6, 0, 4, 7, 8 ]
const len = arr.length
for (let i = 0; i < len; i ++)
}}console.log(arr) // [ 0, 2, 4, 4, 6, 7, 8, 10 ]
外層for迴圈:迴圈陣列每乙個元素。
裡層for迴圈:保證陣列每乙個元素與其他元素作比較。
分析:
外層大圈,迴圈第一次 i 為 0:
裡層迴圈,迴圈第一次:j 為 1,判斷陣列元素 10 是否大於 2 ,進入條件,交換二個元素位置(讓2在10的前邊,2在陣列第一位了)
裡層迴圈,迴圈第四次:j 為 4,判斷陣列元素 2 是否大於 0 ,進入條件,交換二個元素位置(讓0在2的前邊,0在陣列的第一位了)
裡層迴圈,迴圈第七次:j 為 7,判斷陣列元素 0 是否大於 8 ,條件不滿足,此時 j 為 8,裡層迴圈結束,陣列元素排列順序:[ 0, 10, 4, 6, 2, 4, 7, 8 ]。
外層大圈,迴圈第二次 i 為 1:
裡層迴圈,迴圈第一次:j 為 2,判斷陣列元素 10 是否大於 4 ,進入條件,交換二個元素位置(讓4在10的前邊)
依次類推··· ···
JS 氣泡排序
氣泡排序 相鄰的兩個元素比較,如果前乙個數大於後乙個數,交換位置。1 每一次排序將無序數列中的最大值找到 2 乙個含有n的序列最多經過n 1次排序即可有序 3 經過排序後,數列會分為兩部分,一部分有序,一部分無序 4 一旦出現前乙個數大於後乙個數,就交換位置。氣泡排序 1.外層迴圈 1 含有n個數的...
js氣泡排序
原理 依次比較相鄰的兩個值,如果後面的比前面的小,則將小的元素排到前面。依照這個規則進行多次並且遞減的迭代,直到順序正確。解釋設一組資料 var arr 25,55,89,12,45,36,23,16,50 兩個迴圈當i 0的時候,裡面的迴圈完整執行,從j 0執行到j 6,這也就是第一遍排序,結果是...
js 氣泡排序
function bublesort arra return arra function bubblesort2 arr i pos 為下一趟排序作準備 console.timeend 改進後氣泡排序耗時 return arr function bubblesort3 arr3 high 修改hig...