整列アルゴリズムのひとつ。
単純選択法とも呼ばれ、安定な整列法である。実行時間はO(n^2)である。

昇順に並び替える場合の手順は以下のとおり。
配列の最小値を探し出し先頭の値と交換する
上記交換した先頭を除いた部分配列より最小値を探し出し、2番目と交換する
以降、同様にして3番目、4番目・・・を求めていく

プログラミング掲示板「ソートロジック大会」なども参照のこと

TypeDef keytype = Integer
Sub selectsort(n As Integer, a As *keytype)
Dim i As Integer, j As Integer, k As Integer
Dim min As keytype
For i = 0 To n - 1
min = a[i]
k = i
'未整列範囲の最小値を求める
For j = i + 1 To n
If a[j] < min Then
min = a[j]
k = j
End If
Next j
'値の入れ替え
a[k] = a[i]
a[i] = min
Next i
End Sub

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年01月25日 19:08