排序算法------快速排序

原理

  获取第一个数据
  将数据分为左右两部分,左边的全部比第一个数小或者相等,右边全部比第一个数数大(递归)

function quickSort(&$arr){
   if(count($arr)>1){
        $k=$arr[0];//获取第一个
        $x=array();
        $y=array();
        $_size=count($arr);//数组个数
        for($i=1;$i<$_size;$i++){
            if($arr[$i]<=$k){
                $x[]=$arr[$i];
            }elseif($arr[$i]>$k){
                $y[]=$arr[$i];
            }
        }
        $x=quickSort($x);
        $y=quickSort($y);
        return array_merge($x,array($k),$y);
    }else{
        return$arr;
    }
}

 来源转自:http://www.cnblogs.com/jingmoxukong/p/4303289.html 

posted @ 2016-04-29 16:53  rcj_飞翔  阅读(96)  评论(0)    收藏  举报