快速排序,快速排序算法
<?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/>";