Bubble sort

2022.6.17
Dev

Bubble sortは最も単純なソートアルゴリズムの一つです。

平均計算時間: O(n^2)

安定ソート

JavaScriptによる実装

function bubbleSort(a) {
  let n = a.length;

  do {
    let newN = 0;
  
    for (let i = 1; i <= n - 1; i++) {
      if (a[i - 1] > a[i]) {
        [a[i - 1], a[i]] = [a[i], a[i - 1]];
        newN = i;
      }
    }
  
    n = newN;
  } while (n > 1);
}

const a = [7, 15, 1, 8, 11, 5, 13, 0, 2, 4, 6, 3, 12, 14, 9, 10];
bubbleSort(a);

console.log(a);
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

参考: Bubble sort - Wikipedia