yangzailu

导航

快速排序

<?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/>";

 

posted on 2016-08-30 14:53  飞离地平线  阅读(305)  评论(0编辑  收藏  举报