C#で配列をソートする基本アルゴリズムとして、バブルソートは非常に分かりやすく初心者に適しています。この記事では、バブルソートの仕組みから実際のコード例までを丁寧に解説します。
バブルソートとは
バブルソートは、隣り合う要素を比較して大小を入れ替えながら、配列全体をソートするアルゴリズムです。名前の通り、値がバブルのように少しずつ上がっていくイメージです。
例えば、配列 [5, 3, 8, 1] があった場合、隣の要素を順に比較し、小さい値を前に移動させていきます。
バブルソートの手順
- 配列の最初の要素と次の要素を比較する。
- 順序が逆なら入れ替える。
- 配列の最後まで繰り返す。
- 1回目の通過で最も大きい要素が最後に固定される。
- 未確定の範囲に対して、同じ処理を繰り返す。
C#でのバブルソート実装例
int[] arr = {5, 3, 8, 1};
for (int i = 0; i < arr.Length - 1; i++)
{
for (int j = 0; j < arr.Length - i - 1; j++)
{
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
このコードでは、外側のループで配列の通過回数を管理し、内側のループで隣接要素を比較・入れ替えします。arr.Length - i - 1 により、既に確定した最後の要素は比較から除外しています。
まとめ
バブルソートは効率はあまり良くありませんが、基本アルゴリズムの理解には最適です。C#での実装も簡単で、入れ替えロジックと二重ループの構造を理解することで、より高度なソートアルゴリズムへのステップアップが容易になります。


コメント