JavaScript 選択ソート

  • 1
    いいね
  • 0
    コメント

選択ソート(単純選択法)

「最小値を探して、先頭から順番に並べていく方法」
最小値を入れる位置を「選択」し、最小値と交換していくので「選択ソート」と言われる。

手順
前提 未整列のデータを配列に入れて用意する
1 最小値を見つけて、「最小値を入れる変数」に暫定的にいれる
2 「最小値の位置を入れる変数」も用意して暫定的にいれる
3 比較を繰り返して上記の変数を更新していく
4 繰り返しが終わったら先頭の値と最小値の値を交換する
5 残った部分にも同じように繰り返していく

script.js
//ソート前の配列データ
var a = [1,3,10,2,8];

//「最小値を入れる位置」を先頭から順番に選択していくfor文
for(var i = 0; i<a.length-1;i++){
    //最小値を探すアルゴリズム
    //先頭の値を暫定の最小値として初期設定する
    var min = a[i];
    //先頭の位置を保存する
    var k = i;

    //隣の位置から最後まで、最小値との比較を繰り返す
    for(var j = i+ 1; j<a.length;j++){
        //比較して最小値を更新するif文
        if(min >a[j]){
            min = a[j];
            k = j;
        }
    }
    //交換するアルゴリズム
    //「先頭の値」と「最小値の値」を交換する
    var tmp = a[i];
    a[i] = a[k];
    a[k] =tmp;

    //ソートの値を表示
    console.log(a);
}