JavaScript算法---排序(冒泡排序)【1】

冒泡排序:比較任何兩個相鄰的項,如果第一個比第二個大則交換位置。

原理如下圖:比較相鄰,就好像氣泡上升到表面,因此而得名“冒泡”。

代碼:

 //冒泡排序
    var BubbleSort =function(array) {
        var length = array.length;
        for (var i = 0; i < length -1; i++){
            //減少上次循環確認的值所以減i提高性能
            for (var j = i ;j < length -1 -i ;j++){
                if (array[j] > array[j+1]){
                    exchange(array,j,j+1)
                }
            }
        }
        console.log(array)
    }
    //比較元素交換位置
    var exchange = function(array,index1,index2) {
        var aux =array[index1];
        array[index1] = array[index2];
        array[index2] = aux
    }
    BubbleSort([4,2,56,7,3,11,7]);

溫馨提示:

冒泡是排序中最簡單的,但在運行時間的角度來看是最差的一個。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章