2016年7月9日土曜日

JavaScript によるバブルソートの実装

JavaScript でバブルソートの実装を行ってみました。

window.onload = function(){
  var array = [90, 65, 37, 23, 17, 15];
  console.log("始めの値  : " + array.toString());

  do {
    var flag = false;

    for(var i = 0; i < array.length-1; i++)
    {
      if(array[i] > array[i+1])
      {
        var tmp = array[i];
        array[i] = array[i+1];
        array[i+1] = tmp;
        flag = true;

        console.log("ループ後  : " + array.toString());
      }
    }
  } while (flag == true);
}

実行結果はこちら。

始めの値  : 90,65,37,23,17,15
ループ後  : 65,90,37,23,17,15
ループ後  : 65,37,90,23,17,15
ループ後  : 65,37,23,90,17,15
ループ後  : 65,37,23,17,90,15
ループ後  : 65,37,23,17,15,90
ループ後  : 37,65,23,17,15,90
ループ後  : 37,23,65,17,15,90
ループ後  : 37,23,17,65,15,90
ループ後  : 37,23,17,15,65,90
ループ後  : 23,37,17,15,65,90
ループ後  : 23,17,37,15,65,90
ループ後  : 23,17,15,37,65,90
ループ後  : 17,23,15,37,65,90
ループ後  : 17,15,23,37,65,90
ループ後  : 15,17,23,37,65,90