ホームページ >Java >&#&チュートリアル >Javaでバブルソートを実装する方法

Javaでバブルソートを実装する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-08-19 15:51:493710ブラウズ

Java バブル ソートの実装方法: 最初に 1 番目と 2 番目の数値を比較し、小数点を前に置き、大きい数値を後ろに置きます。次に、2 番目の数値と 3 番目の数値を比較し、小数点を入れます。最後の 2 つの数値が比較され、小数点が前に、大きな数値が後ろに配置されるまで、最初のステップが最後にすべての並べ替えが完了するまで繰り返されます。完成されました。

Javaでバブルソートを実装する方法

[関連する学習の推奨事項: Java 基本チュートリアル]

Java バブル ソートの実装方法:

原則: 2 つの隣接する要素を比較し、値が大きい方の要素を右端に入れ替えます。

アイデア: 2 つの隣接する数値を順番に比較し、小数点を前に、大きい数値を後ろに置きます。つまり、最初のパスでは、まず最初と 2 番目の数値を比較し、小数を最初に、大きい数値を最後に置きます。次に、2 番目の数値と 3 番目の数値を比較し、小数を前に、大きな数値を後ろに置きます。最後の 2 つの数値を比較するまで同様に、小数を前に、大きな数値を後ろに置きます。すべての並べ替えが完了するまで、最初の手順を繰り返します。

例: 配列を並べ替える場合: int[] arr={6,3,8,2,9,1};

最初の並べ替え:

最初の並べ替え: 6 と 3 を比較します。6 は 3 より大きいので、位置を入れ替えます: 3 6 8 2 9 1

2 番目の並べ替え: 6 と 8 を比較します。6 は 8 より小さいので、位置を入れ替えません: 3 6 8 2 9 1

3 番目の並べ替え: 8 と 2 を比較、8 は 2 より大きい、位置を交換: 3 6 2 8 9 1

4 番目の並べ替え: 8 と 9 を比較、8 は小さい9 より大きい、位置を交換しない: 3 6 2 8 9 1

5 番目の並べ替え: 9 と 1 の比較: 9 は 1 より大きい、位置を交換しない: 3 6 2 8 1 9

最初の旅行の合計 5 つの比較が行われ、ランキング結果は次のとおりです: 3 6 2 8 1 9

---------------------- --------- --------------------------------------

2 番目の並べ替え :

最初の並べ替え: 3 と 6 を比較、3 は 6 より小さい、位置を交換しない: 3 6 2 8 1 9

2 番目の並べ替え: 6 と 2 を比較、6 は 2 より大きく、位置を交換します: 3 2 6 8 1 9

3 番目の並べ替え: 6 と 8 を比較、6 は 8 より大きく、位置を交換しません: 3 2 6 8 1 9

4 番目の並べ替え : 8 と 1 が比較され、8 は 1 より大きい、位置を交換します: 3 2 6 1 8 9

2 番目のパスには合計 4 つの比較があります。ソート結果: 3 2 6 1 8 9

----------------------------------- --------------------------------------

3 番目の並べ替え:

最初の並べ替え: 3 と 2 を比較、3 は 2 より大きい、位置を交換: 2 3 6 1 8 9

2 番目の並べ替え: 3 と 6 を比較、3 は 6 より小さい、位置を交換しない: 2 3 6 1 8 9

3 番目の並べ替え: 6 と 1 を比較、6 は 1 より大きい、位置を交換: 2 3 1 6 8 9

2 番目のパスでは合計 3 が実行されました。比較、ソート結果: 2 3 1 6 8 9

- ----------------------------- ------------------- ------------------

4 番目の並べ替え:

最初の並べ替え: 2 と 3 を比較、2 は 3 より小さい、位置交換ではない: 2 3 1 6 8 9

2 番目の並べ替え: 3 と 1 が比較、3 は 1 より大きい、交換位置: 2 1 3 6 8 9

2 回目のトリップでは合計 2 回の比較が実行され、結果がソートされました: 2 1 3 6 8 9

-------- ------------------------ ------------------------ ------------

5 番目の並べ替え:

最初の並べ替え: 2 と 1 が比較され、2 は 1 より大きく、位置を交換します: 1 2 3 6 8 9

合計 1 回の比較が 2 回目に実行されたときの並べ替え結果: 1 2 3 6 8 9

-------------- ------------------------ ------------------------ ----

最終結果: 1 2 3 6 8 9

- ------------------------ -------------------------- ------------------

バブル ソートの利点: ソートを実行するたびに、より大きな値が見つかるため、比較する回数が 1 回減ります。上の例のように: 最初の比較の後、最後の数値が最大の数値である必要があります。2 回目の並べ替えでは、最後の数値を除く他の数値を比較するだけでよく、最大の数値も見つけることができます。数値はランク付けされます。 2 番目の比較に参加する番号の後ろにあるもの、3 番目の比較では、最後の 2 つの番号を除く他の番号のみを比較する必要がある、などなど... 言い換えれば、比較を行わないと、毎回の旅行ごとに比較が 1 つ減ります。ある程度のアルゴリズムの量。

Javaでバブルソートを実装する方法

関連する推奨事項: プログラミングビデオコース

以上がJavaでバブルソートを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。