Javaのバブルソートとは

Javanobaburusototoha



Java でソートされていないデータを処理しているときに、大量のデータを昇順にソートするインスタンスが存在する場合があります。たとえば、実行時にランダムに生成された値をソートします。そのような状況では、「 バブルソート 」アルゴリズムは、長い配列を即座にソートするのに役立ち、開発者側で同時に実装すると便利です。

このブログでは、Java での「Bubble Sort」の使用法と実装について説明します。

Javaの「バブルソート」とは何ですか?

バブルソート 」アルゴリズムは、最も単純なソート アルゴリズムです。このアルゴリズムでは、各要素が次の要素と比較されるように、最初の要素から最後の要素まで配列が走査されます。前の要素が配列内の次の要素より大きい場合、両方の要素が交換されます。







時間の複雑さ

バブル ソート アルゴリズム内には、2 つのネストされたループがあります。したがって、時間計算量は「 O(n^2) '、 どこ ' n 」は、ソートする必要がある配列の長さに対応します。



Javaで「バブルソート」を実装

以下のデモでは、バブル ソート アルゴリズムの実装が行われ、段階的に説明されます。



公共 静的 空所 algobubbleSort ( 整数 [ ] バブルアレイ、 整数 長さ ) {

ために ( 整数 = 0 ; < 長さ - 1 ; ++ ) {

ために ( 整数 j = 0 ; j < 長さ - - 1 ; j ++ ) {

もしも ( バブル配列 [ j + 1 ] < バブル配列 [ j ] ) {

整数 スワップ値 = バブル配列 [ j ] ;

バブル配列 [ j ] = バブル配列 [ j + 1 ] ;

バブル配列 [ j + 1 ] = スワップ値 ;

} }

} }

整数 [ ] 与えられた配列 = { 4 2 1 3 10 8 15 } ;

整数 配列の長さ = 与えられた配列。 長さ ;

algobubbleSort ( givenArray,arrayLength ) ;

システム . . 印刷する ( 'バブルソート配列は次のようになります:' ) ;

ために ( 整数 = 0 ; < 配列の長さ ; ++ ) {

システム . . 印刷する ( 与えられた配列 [ ] + ' ' ) ;

}

指定されたコードに従って、入隊した指示に従います。





  • まず、関数を定義します」 algobubbleSort() 」で、前者のパラメーターは、並べ替える必要がある渡された配列を指し、後者のパラメーターはその (配列) の長さを指します。
  • 関数定義では、蓄積された配列要素を最初の「 ために 」 ループ。
  • 次のステップでは、内側の「 ために 」 配列の最後の 2 番目の要素まで反復するループ。これは、各反復で、最大の配列要素が最後のインデックスに配置されるためです。したがって、この反復では回避されます。
  • 後者の「 ために 」 ループで、前の要素が次の要素より大きい場合、小さい方の値が昇順で最初に配置されるように値がスワップされるなどの条件をチェックし、さらに繰り返される値についても同様です。
  • main では、ソートされていない方法で指定された整数値を含む配列を宣言します。
  • 次のステップでは、「 長さ 配列の長さを返す配列を持つ 'プロパティ。
  • その後、宣言された配列とその長さをその(関数)パラメーターとして渡すことにより、定義された関数を呼び出します。
  • 最後に、その長さを考慮して配列を反復すると、アクセスされた関数は「 バブルソート 」配列を昇順で。

出力



上記の出力では、指定された配列がそれに応じてソートされていることがわかります。

結論

バブルソート 」は、配列を最初の要素から最後の要素までトラバースすることによって実行され、各要素は次の要素と 1 ステップずつ比較され、配列は昇順に取得されます。このブログでは、Java でのバブル ソートのアルゴリズムと実装について詳しく説明しました。