C#で学ぶバブルソートの基礎と分かりやすい実装例

C言語関連

C#で配列をソートする基本アルゴリズムとして、バブルソートは非常に分かりやすく初心者に適しています。この記事では、バブルソートの仕組みから実際のコード例までを丁寧に解説します。

バブルソートとは

バブルソートは、隣り合う要素を比較して大小を入れ替えながら、配列全体をソートするアルゴリズムです。名前の通り、値がバブルのように少しずつ上がっていくイメージです。

例えば、配列 [5, 3, 8, 1] があった場合、隣の要素を順に比較し、小さい値を前に移動させていきます。

バブルソートの手順

  1. 配列の最初の要素と次の要素を比較する。
  2. 順序が逆なら入れ替える。
  3. 配列の最後まで繰り返す。
  4. 1回目の通過で最も大きい要素が最後に固定される。
  5. 未確定の範囲に対して、同じ処理を繰り返す。

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#での実装も簡単で、入れ替えロジックと二重ループの構造を理解することで、より高度なソートアルゴリズムへのステップアップが容易になります。

コメント

タイトルとURLをコピーしました