php快速排序帮忙修改一下程序

来源:百度知道 编辑:UC知道 时间:2024/09/20 17:26:02
<?php
function quick($arr)
{
if (count($arr) <= 1)
$first = $arr[0];
$n=count($arr);
for ($i=1; $i<$n; $i++ )
{
if ($arr[$i] <= $first)
$left[$i] = $arr[$i];
else
$right[$i+1] = $arr[$i];
}
//$left = quick($left);
//$right = quick($right);
return $arr;
$arr=implode(",",$arr);
}
$arr = array(3,6,1,5,9,0,4,6,11);
print_r(quick($arr));
?>

各位帮忙修改一下程序,快速排序法

<?php
$a=array(23,6,78,4,3,6,1,5,9,0,4,6,11);
sort($a);
$a=implode(",",$a);
print_r($a);
?>

直接用sort()即可.
如果用自己编写的函数,肯定没有php本身的函数快,毕竟php核心是用c写的.
如果用排序法,必须得循环比较.
你上面的程序是有问题的.可以新建一个数组用于排序好的数组存放,然后将要排序的数组遍历与新建的数组中的元素进行循环比较,再进行位置的移动.

用php的asort排序asort($arr);

快速排序法?