PHP数组快速排序函数怎么写,举例
时间: 2023-06-29 18:06:09 浏览: 47
请问您需要使用哪种算法对PHP数组进行快速排序?常见的算法有快速排序、归并排序、堆排序等。以下是使用快速排序算法对PHP数组进行排序的示例代码:
```
function quick_sort($arr) {
$len = count($arr);
if ($len <= 1) {
return $arr;
}
$pivot = $arr[0]; // 中间数
$left_arr = array();
$right_arr = array();
for ($i=1; $i<$len; $i++) {
if ($arr[$i] < $pivot) {
$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($pivot), $right_arr);
}
$arr = array(10, 5, 23, 8, 40);
echo '排序前:' . implode(',', $arr) . PHP_EOL;
$arr = quick_sort($arr);
echo '排序后:' . implode(',', $arr) . PHP_EOL;
```
以上代码将给定的数组进行分割排序,直到分割成不可再分的单个元素,然后将排序后的子数组合并起来。这里使用递归实现了快速排序算法。