數據結構--冒泡排序

概念

冒泡排序是一種交換排序。即兩兩比較待排序的關鍵字,並交換不滿足次序要求的那對數,直到整個表都滿足次序要求爲止。

算法思想

兩兩比較序列中數字,若兩者中前者比後者大,則交換兩者位置。

那麼這樣做的結果就是每一次交換後,最大的都會冒泡到了最後。

也就是說,第一次冒泡到最後的是第一大的數,第二次則是第二大,以此類推。

在這裏插入圖片描述

代碼實現

function bubleSort(arr){
    if(!arr && !arr.length){return -1;}
    for(let i=0,len=arr.length; i<len-1; i++){
        let isChange = false;
        for(let j=0; j<len-i; j++){
            if(arr[j] > arr[j+1]){
                [arr[j], arr[j+1]] = [arr[j+1], arr[j]];
                isChange = true;
            }
        }
        if(!isChange){return arr;}
    }
    return arr;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章