冒泡排序
$arr = [8,1,9,2,5,7,2,3];
//从小到大
function maopao_asc($arr){
for ($i=0; $i < count($arr) ; $i++) {
for ($j=0; $j < count($arr)-1; $j++) {
if ($arr[$j]>$arr[$j+1]) {
$tmp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tmp;
}
}
}
return $arr;
}
//从大到小
function maopao_desc($arr){
for ($i=0; $i < count($arr); $i++) {
for ($j=0; $j < count($arr)-1; $j++) {
if($arr[$j]<$arr[$j+1]){
$tmp = $arr[$j];
$arr[$j] = $arr[$j+1];
$arr[$j+1] = $tmp;
}
}
}
return $arr;
}
print_r(maopao_desc($arr));
快速排序
function quick_sort($arr) {
if (count($arr) <= 1) return $arr;
$key = $arr[0];
$left_arr = array();
$right_arr = array();
for ($i=1; $i<count($arr); $i++){
if ($arr[$i] <= $key)
$left_arr[] = $arr[$i];
else
$right_arr[] = $arr[$i];
}
$left_arr = quick_sort($left_arr);
$right_arr = quick_sort($right_arr);
return array_merge($left_arr, array($key), $right_arr);
}