挿入ソート: すべてのレコードが挿入されるまで、ソート対象のレコードがキー サイズに従って以前にソートされたサブファイル内の適切な位置に挿入されるたびに。
//插入排序(一维数组) function insert_sort($arr) { $count = count($arr); for($i=1; $i<$count; $i++) { $tmp = $arr[$i]; $j = $i - 1; while($arr[$j] > $tmp) { $arr[$i] = $arr[$j]; $arr[$j] = $tmp; $j--; } } return $arr; }
//选择排序(一维数组) function selection_sort($arr) { $count = count($arr); for($i=0; $i<$count; $i++) { $k = $i; for($j=$i+1; $j<$count; $j++) { if($arr[$k] > $arr[$j]) { $k = $j; } if($k != $i) { $tmp = $arr[$i]; $arr[$i] = $arr[$k]; $arr[$k] = $tmp; } } } return $arr; }
//冒泡排序(一维数组) //实际效果是:每次循环将数组中最小的值放置到数组的最前段,然后,下一次循环不再循环已放置正确数组值的键,以此类推 function selection_sort($arr) { $count = count($arr); if($count <= 0) return false; for($i=0; $i<$count; $i++) { for($j=$count-1; $j>$i; $j--) { if($arr[$j] < $array[$j-1]) { $tmp = $arr[$j]; $arr[$j] = $arr[$j-1]; $arr[$j-1] = $tmp; } } } return $arr; }
りー
上記は、PHP の一般的なソート アルゴリズムの実装を、内容の側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。