快速排序是一种基于分治思想的排序算法,可以用PHP实现如下: function quickSort($arr) { $len
快速排序是一种基于分治思想的排序算法,可以用PHP实现如下:
function quickSort($arr) {
$length = count($arr);
if ($length <= 1) {
return $arr;
}
$pivot_key = floor($length / 2);
$pivot = $arr[$pivot_key];
$left = $right = [];
foreach ($arr as $key => $value) {
if ($key == $pivot_key) {
continue;
}
if ($value < $pivot) {
$left[] = $value;
} else {
$right[] = $value;
}
}
return array_merge(quickSort($left), [$pivot], quickSort($right));
}
$arr = [3, 6, 8, 10, 1, 2, 1];
$result = quickSort($arr);
var_dump($result);
在上面的代码中,quickSort
函数实现了快速排序算法。首先判断数组长度是否小于等于1,如果是则直接返回数组。然后选择一个基准值(pivot),将小于基准值的元素放在左边,大于等于基准值的元素放在右边,再递归地对左右两部分数组进行排序,最后合并左右两部分数组并返回排序后的结果。
--结束END--
本文标题: php怎么实现快速排序
本文链接: https://www.lsjlt.com/news/581951.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0