google colabolatory⑪ JavaScriptでアルゴリズム([ソート編①]バブルソート)

ソートのアルゴリズムもやってみます。

まずはバブルソートです。

%%js
//バブルソートで昇順に並べかえる
const data = [8,5,2,4,7,3,1,9];

let arr = [...data];

function swap(array, idx1, idx2){
 let tmp = array[idx1];
 array[idx1] = array[idx2];
 array[idx2] = tmp;
}

function bubbleSort(array){
  let n = array.length;
  for(let i=0; i<n-1; i++){
    for(let j=n-1; j>i; j--){
      if(array[j-1] > array[j]){
         swap(array, j-1, j);
      }
    }
  }
}

bubbleSort(arr);
console.log(arr);

 

あくまでメモしているだけになります。

参考文献は、下記です。

新・明解Javaで学ぶアルゴリズムとデータ構造 第2版, (新・明解)