JavaScript冒泡排序

冒泡排序(Bubble Sort),是一種計算機科學領域的較簡單的排序算法。
它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,若是順序(如從大到小、首字母從Z到A)錯誤就把他們交換過來。走訪元素的工做是重複地進行直到沒有相鄰元素須要交換,也就是說該元素列已經排序完成。
這個算法的名字由來是由於越小的元素會經由交換慢慢「浮」到數列的頂端(升序或降序排列),就如同碳酸飲料中二氧化碳的氣泡最終會上浮到頂端同樣,故名「冒泡排序」。算法

要求:

定義一無序數組[6, 1, 4, 8, 2, 5, 7, 3],讓其按照從大到小降序排列數組

代碼實現:

var arr = [6, 1, 4, 8, 2, 5, 7, 3];
for (var i = 0; i < arr.length - 1; i++) { // 外層循環定義趟數
    for (var j = 0; j < arr.length - 1 - i; j++) { // 內層循環定義每一趟的交換次數
        if (arr[j] < arr[j + 1]) { // 內部交換2個變量的值 前一個和後面一個數組元素相比較
            var temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}
console.log(arr);

輸出結果:

[8, 7, 6, 5, 4, 3, 2, 1]
相關文章
相關標籤/搜索