投稿者 るしぇ  (社会人) 投稿日時 2009/8/28 19:44:11
並び替えの仕組み自体はいたるところに利用されていますからね。
既存の仕組みを利用して良いなら、使った方が早いしバグも少なく
なります。

VB で既存の機能を利用した場合、ほとんどがクイックソートです。
質問文のコードはバブルソートですね。人間が一番最初に思いつく
並べ替えの手順だと思います。

並び替えの勉強してるならソートのアルゴリズム自体も変更できる
といいですね。
[いろいろなソートアルゴリズム]
http://www.ibe.kagoshima-u.ac.jp/~fuchida/edu/algorithm/sort-algorithm/

VB.NET の既存クラスではソートのアルゴリズム自体はクイックソート。2値の大小
判定だけ別に定義できるような仕組みが考えられています。
[第25回 実技2 フォルダ情報一覧]
http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard25.htm
IComparer インターフェースです。
ここに大小関係を判定するルールを書けば色々な既存クラスに利用できます。
アタッチメントを交換すれば電動ドリルにもねじ回しにもなるといった
発想です。この辺もクラスを物として捉えていると、現実世界のアイデア
と結び付けやすく、オブジェクト指向が有効な面だと思います。