ホームページ > バックエンド開発 > PHPチュートリアル > PHP バブル ソート アルゴリズム_PHP チュートリアル

PHP バブル ソート アルゴリズム_PHP チュートリアル

WBOY
リリース: 2016-07-20 11:13:46
オリジナル
886 人が閲覧しました

基本概念
バブルソートの基本概念は次のとおりです: 2 つの隣接する数値を順番に比較し、小数点を前に、大きな数値を後ろに置きます。つまり、最初に 1 番目と 2 番目の数値を比較し、小数点を最初に、大きい数値を最後に置きます。次に、2 番目の数値と 3 番目の数値を比較し、小数を前に、大きな数値を後ろに置きます。最後の 2 つの数値を比較するまで同様に、小数を前に、大きな数値を後ろに置きます。上記のプロセスを繰り返しますが、依然として最初の数値のペアから開始し (2 番目の数値と 3 番目の数値の交換により、最初の数値が 2 番目の数値より大きくなくなっている可能性があるため)、小数を最初に置き、次に最後に、最小の数値の前の隣接する数値のペアまで比較し、小数を前に、大きい数値を後ろに置きます。2 番目のパスが終了し、最後から 2 番目の数値に新しい最小の数値が取得されます。このようにして、最終的に並べ替えが完了するまで続けます。
並べ替えの際、小数点以下は常に前方に、大きな数字は後方に配置され、バブルが上昇するのに等しいため、バブルソートと呼ばれます。
二重ループを使用して実装し、外側のループ変数を i に設定し、内側のループ変数を j に設定します。外側のループを 9 回繰り返し、内側のループを 9、8、...、1 回繰り返します。毎回比較される 2 つの要素は、内側のループ j に関連しています。それらはそれぞれ、a[j] と a[j+1] で識別できます。i の値は 1、2、... です。 、9 の順に i と j の値は順に 1、2、…10-i になります。


を生成します 多くのプログラミングでは、統計を容易にするためにシーケンスをソートする必要があります。一般的なソート方法には、バブル ソート、バイナリ ツリー ソート、選択ソートなどが含まれます。バブルソートは、思考方法が簡潔で効率が比較的高いため、常に人気があります。

ソート処理
ソートされた配列 R[1..N] が垂直に構築され、軽い泡は重い泡の下に存在できないという原則に従って、各データ要素が重み付けされたバブルとみなされると想像してください。 , この原則に違反する軽い泡がスキャンされると、最後の 2 つの泡が一番上の軽い泡と一番上の重い泡になるまで、これが繰り返されます。底。

ソートの実装プロセスは次のとおりです:
49 38 65 97 76 13 27
38 49 65 97 76 13 27 1番目と2番目の数値を比較し、小さいものを前に、大きいものを後ろに置きます 38 49 65 97 76 13 27 2 番目と 3 番目の数字を比べて、小さい方を前に、大きい方を後ろに置きます。 38 49 65 97 76 13 27 3 番目と 4 番目の数字を比べて、小さい方を前に、大きい方を後ろに置きます。後ろ 38 49 65 76 97 13 27 4 番目と 5 番目の数字を比較し、小さい方を前に、大きい方を後ろに置きます。 38 49 65 76 13 97 27 5 番目と 6 番目の数字を比較し、小さい方を前に置きます, 大きい方を後ろに置きます 38 49 65 76 13 27 97 6番目と7番目の数字を比較し、小さい方を前に、大きい方を後ろに置きます この時点で最初の比較は終了です。次の並べ替えが得られます: 38 49 65 76 13 27 97
その後、最初の並べ替え方法に従って並べ替えが完了するまで比較を続けます。

リーリー

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/440331.html技術記事基本概念 バブル ソートの基本概念は、2 つの隣接する数値を順番に比較し、小数を前に、大きい数値を後ろに置きます。つまり、最初に 1 番目と 2 番目の数字を比較し、小数点を最初に置き、大きい方を先に置きます...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート