はじめに: これは、PHP ソート アルゴリズムの詳細ページであり、PHP に関連する知識、スキル、経験、およびいくつかの PHP ソース コードを紹介します。
class='pingjiaF' Frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=339153'scroll='no'>以下が小さいものから大きいものへソートされていると仮定します。 :
1. バブルソート (安定ソート)
個人的な理解: バブルソートは、小さなループの中に大きなループがあり、先頭または末尾から始まる 2 つの連続する要素のサイズを比較します。独自の並べ替え基準 (小さいものから大きいもの、または大きいものから小さいもの) を満たすと、その値が交換されます。
function bubble_sort($array){
$count=count($array);
for($i=0;$i<$count;$i++){
for($j=$count-1) ;$j>$i;$j--){
if($array[$j]<$array[$j-1]){// 次の値が前の要素より小さい場合、 value
$ Temp = $ array [$ j];$ array [$ j] = $ array [$ j-1];
}
2. クイックソート (配列ソートとも呼ばれます) )
個人的な理解: ソート対象の配列内でキー データ (標準値) を見つけます。通常は配列の最初の要素です。それをキー データとして扱い、配列をループし、要素の値とキー データを順番に比較します。 2 番目の要素から開始します。キー データより小さい場合は、要素をキー値の左側に配置します。キー データが許可されている場合は、要素をキー データの右側に配置します。キー値の左側を配列として、右側の要素も同様に取得し、それぞれ上記のソートを実行すると、配列をマージした後、結果の配列とキーデータが正常にソートされます
function Quick_sort($)。 array){
$ count=count($array);
if($count<=1) retrun $array; //配列の要素が 1 つしかない場合、または空の場合は、ソートせずに配列を直接返します
$ key=$array[0 ]; //配列の最初の要素をキーデータとして設定します
$left_arr=array();
$right_ar=array();
for($i=1;$i< ;$count;$i++) {
if($array[$i]<=$key)
$left_arr[]=$array[$i];
else
$right_arr[]=$array [$i];
}
$left_arr=quick_sort($left_arr);
$right_arr=quick_sort($right_arr);
//マージされた配列を返す
return array_merge($left_arr,array($key) ),$right_arr);
}
3. 選択ソート(不安定ソート)
個人的な理解:選択ソートとは、ソートする配列の中で最も小さい値を選択し、最初の要素と値を交換することです。残りの要素の中から最小の値を選択します。その値は 2 番目の要素と交換され、最後から 2 番目の要素が最後の要素と比較されるまでループが続きます。
function select_sort($array){
$count=count($array);
if($count<=1) return $array;
for($i=0;$i<$count-1) ;$i++){
$min=$array[$i]; //現在の要素が最小であると仮定し、比較後に調整します
for($j=$i+1;$j<$ count;$j++) {
if($array[$j]<$min){
$min=$array[$j];
//要素のキーを記憶する;このときの最小値で 次に
}
}
if($min!=$array[$i]){ //ループ内でminが変わった場合はデータのやり取りが必要
$temp= $array[$i]; 。 。 。 。笑
J2EE が大好きで、Java Michael Jackson Video Station JSON オンライン ツールをフォローしてください
http://biancheng.dnbcw.info/php/339153.html pageNo:8