Java バブル ソート アルゴリズムと一般的な実装方法の詳細な説明
はじめに:
バブル ソートは、比較と交換による並べ替えを使用する基本的な並べ替えアルゴリズムです。バブル ソートの時間計算量は高くなります (O(n^2)) が、実装が簡単であるため、これはソート アルゴリズムを理解するための基礎であり、面接でよくある質問の 1 つでもあります。この記事では、Java バブル ソート アルゴリズムの原理、手順、一般的な実装方法を詳しく紹介し、コード例も示します。
1. 原理と手順:
バブルソートの基本的な考え方は、ソート対象の要素を最初から最後まで比較し、隣接する要素の順序が逆の場合は、全体が一致するまで入れ替えます。順序は整っています。具体的な手順は次のとおりです。
2. Java での一般的な実装方法:
public static void bubbleSort(int[] arr) { int n = arr.length; for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换相邻元素的位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } }
public static void bubbleSortOptimized(int[] arr) { int n = arr.length; boolean swapped; // 标识是否有交换操作 for (int i = 0; i < n - 1; i++) { swapped = false; for (int j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换相邻元素的位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; swapped = true; } } // 如果没有进行任何交换,说明已经有序,直接退出循环 if (!swapped) { break; } } }
3. 例とテスト:
コードの正しさをテストおよび検証するための例を以下に示します。出力結果は次のとおりです:
ソート後: 11 12 22 25 34 64 90
結論:
以上がJava バブル ソート アルゴリズムと一般的な実装方法の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。