您的位置:首页 > 其它

快速排序

2016-08-30 14:53 155 查看
<?php
header("content-type:text/html;charset=utf-8");
//快速排序(不要求)//有问题
$array=array(0,5,-1,98,-35);
//动态的创建200000个数据,不要打出,机器会死掉!
/*for($i=0;$i<200000;$i++){
$array[$i]=rand(0,3000);
}
*/
function quickSort($left,$right,&$array){
$l=$left;
$r=$right;
$pivot=$array[($left+$right)/2];
$temp=0;
while($l<$r){
while($array[$l]<$pivot) $l++;
while($array[$r]>$pivot) $r--;

if($l>=$r) break;

$temp=$array[$l];
$array[$l]=$array[$r];
$array[$r]=$temp;

if($array[$l]==$pivot)  --$r;
if($array[$r]==$pivot)  ++$l;
}
if($l==$r){
$l++;
$r--;
}

if($left<$r) quickSort($left,$r,$array);
if($right>$l) quickSort($l,$right,$array);
}
$today=date('Y-n-d G:i:s');
echo '排序前时间是'.$today;
quickSort(0,count($array)-1,$array);
$today=date('Y-n-d G:i:s');
echo '排序后时间是'.$today;
echo "<br/>";
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: