選択ソート(単純選択法)
「最小値を探して、先頭から順番に並べていく方法」
最小値を入れる位置を「選択」し、最小値と交換していくので「選択ソート」と言われる。
手順
前提 未整列のデータを配列に入れて用意する
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);
}