排序算法之——冒泡排序(圖文+代碼詳解)

冒泡排序應該是絕大多數coder第一個接觸到的排序算法了,冒泡排序最容易理解,確實適合作爲入門算法,它是一種簡單直觀的排序算法。它重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序(從小到大,或者從大到小)錯誤就把他們交換過來,對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大(或最小)的數。走訪數列的工作是重複地進行直到沒有再需要交換,也就是說該數列已經排序完成。
請看動圖演示:
在這裏插入圖片描述
接下來再用js代碼實現該算法:

function bubbleSort(arr) {
    var len = arr.length;
    len -= 1;
    for (let i = 0; i < len; i++) {
        for (let j = 0; j < len - i; j++) {
            if (arr[j] > arr[j+1]) {        // 相鄰元素兩兩對比
                let temp = arr[j+1];        // 元素交換
                arr[j+1] = arr[j];
                arr[j] = temp;
            }
        }
    }
    return arr;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章