ネタ元→ うぐぐ・・・タイトルがうかびません・・・
ちょっとずつ、書き方が掴めてきてるみたいね、よしよし♪
えとね、その戦略ならこうすりゃいい。
まずこんな関数を作る:
Function LesserIndex(data() As Integer, x As Integer, y As Integer) As Integer
' data(x) < data(y) なら x, さもなくば y を返す
んでもって
Dim minIndex As Integer
minIndex = 0 ' 0から始めて
minIndex = LesserIndex(data, minIndex, 1) ' より小さい方のインデックスがminIndexにセットされる
minIndex = LesserIndex(data, minIndex, 2) ' より小さい方のインデックスがminIndexにセットされる
これでdata(minIndex)がいっちゃん小さいことになるから、
data(0)とdata(minIndex)を交換する。
data(0)がいちばん小さくなったので、0番目まではソートできた。
そしてもう一度。
ソートの済んだdata(0)を除外して同じことすれば
次に小さいdata()がどれかわかる。それとdata(1)を交換。
これで1番目まではソートできた。
そしてもう一度。
ソートの済んだdata(0)~data(1)を除外して同じことすれば
次に小さいdata()がどれかわかる。それとdata(2)を交換。
これで2番目まではソートできた。
...これを繰り返せば昇順にソートされます。
選択ソートのアルゴリズムね。