コードをコピーします コードは次のとおりです:
$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 日: 更新コードのエラー。
http://www.bkjia.com/PHPjc/322346.html
www.bkjia.comtruehttp://www.bkjia.com/PHPjc/322346.html技術記事次のようにコードをコピーします。 $arr = array(345,4,17,6,52,16,58,69,32,8,234); for($i=1;$icount($arr);$i++){ for ($j=count($arr)-1;$j=$i;$j--){ if($arr[$j]$arr[$j-1]){ $temp = $arr[$ j -1]...