码迷,mamicode.com
首页 > 编程语言 > 详细

php快速排序

时间:2015-12-05 15:53:03      阅读:159      评论:0      收藏:0      [点我收藏+]

标签:

<?php
//快速排序
$arr=array();
$arr=array(52,44,23,16,72,47,189);
function qsort($arr){    
    $length=count($arr);//得到数组的长度
    if(!is_array($arr)||empty($arr)){ //先判断是否需要继续进行
        return array();
    }
    if($length<=1){ //避免无限递归
        return $arr;
    }
    $key=$arr[0];//选择一个标尺,比它大的放到右边,比它小的存放到左边
    $left_array=array();
    $right_array=array();
    for($i=1;$i<$length;$i++){
        if($arr[$i]<$key){
            $left_array[]=$arr[$i];//小于标尺的
        }else{
            $right_array[]=$arr[$i];//大于标尺的
        }
    }
    $left_array = qsort($left_array);
    $right_array = qsort($right_array);
    return array_merge($left_array,array($key),$right_array);
}
print_r(qsort($arr));
//Array ( [0] => 16 [1] => 23 [2] => 44 [3] => 47 [4] => 52 [5] => 72 [6] => 189 )
?>

 

php快速排序

标签:

原文地址:http://www.cnblogs.com/719907411hl/p/5021618.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!