冒泡排序(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]