ホームページ > Java > &#&チュートリアル > シンプルで分かりやすいJavaバブルソートの速習法

シンプルで分かりやすいJavaバブルソートの速習法

PHPz
リリース: 2024-01-30 10:21:06
オリジナル
461 人が閲覧しました

シンプルで分かりやすいJavaバブルソートの速習法

Java バブル ソートの最も簡単な記述方法をすぐにマスターしましょう

バブル ソートは、単純ですが非効率な並べ替えアルゴリズムです。隣接する要素を繰り返し交換することで、未使用の要素を並べ替えます。シーケンスの最後または先頭までの最大または最小のバブル。この記事では、Java でバブル ソートを作成する最も簡単な方法の 1 つを紹介し、具体的なコード例を示します。

バブル ソートの基本的な考え方は、2 つの隣接する要素を比較し、順序が間違っている場合はその位置を交換することです。これにより、各ソート パスで最大 (または最小) の要素がシーケンスにバブルされます。終わり(または始まり)。シーケンス全体が並べ替えられるまで、このプロセスを繰り返します。以下は、バブル ソートを記述する最も簡単な方法です。

public class BubbleSort {
    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]) {
                    // 交换 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 = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        System.out.println("排序结果:");
        for (int i : arr) {
            System.out.print(i + " ");
        }
    }
}
ログイン後にコピー

上記のコード例では、BubbleSort クラスを定義し、その中で bubbleSort メソッドを使用して、バブルソートロジックを実装します。 bubbleSort メソッドでは、2 レベルのループを使用して配列全体を走査し、比較および交換操作を実行します。外側のループは並べ替えパスの数を制御し、各パスでは並べ替えられていない最大値をシーケンスの最後にバブルします。内側のループは各パスの比較および交換操作を制御し、2 つの隣接する要素を比較し、それらの位置を交換することによって並べ替えます。すべてのパスが完了すると、配列内の要素が昇順に並べ替えられます。

main メソッドでは、いくつかの順序付けされていない要素を含む配列を作成し、それを並べ替えのために bubbleSort メソッドに渡します。最後に、ソートされた配列をループして、ソートされた結果を出力します。

上記のコード例を通じて、Java バブル ソートの簡単な記述方法をすぐにマスターできます。バブル ソートはシンプルですが、効率的なソート アルゴリズムではなく、時間計算量が O(n^2) であり、大規模なデータのソートではパフォーマンスが劣ります。したがって、実際の開発では、クイック ソート、マージ ソートなど、他のより効率的なソート アルゴリズムを使用することを好みます。

以上がシンプルで分かりやすいJavaバブルソートの速習法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート