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

PHPバブルソートアルゴリズムの実装コード_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-21 15:34:37935ブラウズ

コードをコピーします コードは次のとおりです:

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