原則は、隣接する数字をペアで比較し、小さい数字から大きな数字へ、または大きな数字から小さな数字へ順番に交換することです。
そのような旅の後、最大または最小の数字を最後の桁に交換し、
それから開始します。再びペアごとの比較と交換を開始し、最後から 2 番目の桁で終了します。
ソートされる元の配列。 9 |
最初のペアごとの比較 (内側のループ) 6 | 4 1 |
最初のペア比較 2 | 4 6 | 9 |
交換後の状態 2 | 6 | 9 | 2 1 | 6 | 4 番目のペアごとの比較 2 | 6 | 9 |
交換後の状態 交換前の状態 | 5 | 6 | 9 | 2 | 4 | 6 | 最初のペアごとの比較 2 | 2 | 1 | 6 | 9 | 交換後の状態 | | 1 | 2 | 6 |交換後の状態 |交換| 1 | 2 | 6 | 9 | 交換後の状態 (外側のループ) スワップなし
ソート後、最終結果が出力されます 1 2 4 5 6 9 コードは参考用ですstatic void bubble_sort(int[] unsorted) { for (int i = 0; i < unsorted.Length; i++) { for (int j = i; j < unsorted.Length; j++) { if (unsorted[i] > unsorted[j]) { int temp = unsorted[i]; unsorted[i] = unsorted[j]; unsorted[j] = temp; } } } } static void Main(string[] args) { int[] x = { 6, 2, 4, 1, 5, 9 }; bubble_sort(x); foreach (var item in x) { Console.WriteLine(item); } Console.ReadLine(); }バブルソートアニメーションのデモ
より古典的なソート アルゴリズムについては、バブル ソート バブル ソート関連の記事については、PHP 中国語 Web サイトに注目してください。