コードをコピーします コードは次のとおりです:
$arr = array(345,4,17,6,52,16,58,69,32,8,234); ;$ifor($j=count($arr)-1;$j>=$i;$j--){
if($arr[$j] <$arr [$j-1]){
$temp = $arr[$j-1] = $arr[$j]; $temp;
}
}
}
基本概念
バブルソートの基本概念は、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] が垂直に構築され、各データ要素が重み付けされたバブルとみなされ、軽い泡は重い泡の下に存在できないという原則に従って、配列 R がスキャンされると仮定します。この原則に違反する軽い泡はすべてスキャンされ、最後の 2 つの泡が上部にあり、重い泡が下部になるまでこのプロセスが繰り返されます。
更新 2009 年 8 月 18 日: コードの更新中にエラーが発生しました。
上記は、バブルソートの内容を含む、バブルソートの PHP バブルソートアルゴリズムの実装コードを紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。