您现在的位置是:主页 > 技术领域 > PHP > PHP
PHP 快速排序
追风 2021-11-15 【PHP】 人已围观
简介PHP 快速排序
/**
* @param $arr 要排序的数组
* @return array 排好序的数组
*/
function quick_sort($arr)
{
$count = count($arr);
if ($count < 2) {
return $arr;
}
//创建临时数组,以基准值为分界线,大于基准值的放在右侧,小鱼基准值的放在左侧
$leftArr = $rightArr = array();
//基准值,一般取数组第一个元素
$middle = $arr[0];
//循环数组与基准值比较
for ($i = 1; $i < $count; $i++) {
if ($arr[$i] < $middle) {
$leftArr[] = $arr[$i];
} else {
$rightArr[] = $arr[$i];
}
}
//递归,将左右数组排序
$leftArr = quick_sort($leftArr);
$rightArr = quick_sort($rightArr);
//将排好序的临时数组合并
return array_merge($leftArr, array($middle), $rightArr);
}
上一篇:没有了