PHP implements a common sorting algorithm
Insert sort (one-dimensional array)
function Insert_sort ($arr) {
? $count = count ($arr);
for ($i =1; $i < $count; $i + +) {
? $tmp = $arr [$i];
? $j = $i-1;
? while ($arr [$j] > $tmp) {
? $arr [$j +1] = $arr [$j];
? $arr [$j] = $tmp;
? $j--;
?}
?}
? return $arr;
}
Select sort (one-dimensional array)
function Select_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;
}
Bubble sort (one-dimensional array)
function Bubble_sort ($array) {
? $count = count ($array);
if ($count <= 0) return false;
?
for ($i =0; $i < $count; $i + +) {
? for ($j = $count-1; $j > $i; $j-) {
if ($array [$j] < $array [$j-1]) {
? $tmp = $array [$j];
? $array [$j] = $array [$j-1];
? $array [$j-1] = $tmp;
?}
?}
?}
? return $array;
}
Quick sort (one-dimensional array)
function Quick_sort ($array) {
if (count ($array) <= 1) return $array;
? $key = $array [0];
? $left _arr = Array ();
? $right _arr = Array ();
? for ($i =1; $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);
}
?>