ホームページ >Java >&#&チュートリアル >Java での最も簡潔なバブル ソート実装の詳細な分析
Java バブル ソートの最も簡単な書き方の詳細説明
バブル ソートは、隣接する要素を比較および交換することによってソートを実装する基本的なソート アルゴリズムです。以下)要素が一度に 1 つずつ正しい位置まで上(または下)に移動します。この記事では、Java でバブル ソートを記述する最も簡単な方法を詳細に説明し、具体的なコード例を示します。
バブル ソートの基本的な考え方は、隣接する要素を左から右に比較することです。前の要素が後の要素より大きい (または小さい) 場合、それらの位置は入れ替わります。このような比較と交換のラウンドの後、最大 (または最小) の要素が右端 (または左端) に「バブル」します。次に、すべての要素が並べ替えられるまで、残りの要素に対して同じ操作を実行します。
次は、Java でバブル ソートを記述する最も簡単な方法です:
public class BubbleSort { public static void bubbleSort(int[] arr) { int len = arr.length; for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { // 交换相邻元素的位置 int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } public static void main(String[] args) { int[] arr = {5, 2, 8, 7, 1, 3, 9, 4, 6}; bubbleSort(arr); for (int num : arr) { System.out.print(num + " "); } } }
上記のコードでは、まず、整数配列を受け取る bubbleSort
メソッドを定義します。パラメータ。この方法では、2 つのネストされた for ループを使用します。外側のループはラウンド数を制御し、内側のループは各ラウンドでの比較と交換を制御します。
内部ループの初期値は len - 1 - i
です。ここで、len
は配列の長さ、i
は配列の長さです。現在のラウンド番号。これは、各ラウンドで 1 つの要素が正しい位置に移動されるため、各ラウンド後に比較および交換する要素が少なくなるからです。
内部ループでは、比較のために arr[j]
と arr[j 1]
を使用します。 arr[j 1]
より大きい場合、それらの位置が交換されます。 Exchange は一時変数 temp
を使用して arr[j]
の値を一時的に保存し、その後 arr[j 1]
の値を に割り当てます。 arr[ j]
を入力し、最後に temp
の値を arr[j 1]
に代入して交換を完了します。
メソッドでは、9 個の整数を含む配列を作成し、bubbleSort
メソッドを呼び出して配列を並べ替えます。最後に、for ループを通じて配列を反復処理し、各要素を出力します。 上記のコードを実行すると、次の出力が得られます:
1 2 3 4 5 6 7 8 9
上記は、Java でバブル ソートを記述する最も簡単な方法と具体的なコード例です。バブル ソートは単純ですが、実際のアプリケーションでは効率が低いため、大規模なデータを処理する場合は、より効率的なソート アルゴリズムの使用を検討する必要があります。
以上がJava での最も簡潔なバブル ソート実装の詳細な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。