LoginSignup
3
3

More than 5 years have passed since last update.

JavaScript 選択ソート

Posted at

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

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

手順
前提 未整列のデータを配列に入れて用意する
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);
}

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3