快速排序法

    public function quickSort($arr) {

        $length = count($arr);
        if($length <= 1) {
            return $arr;
        }

        $base_num = $arr[0];

        $left_array = array();          //小于基准的
        $right_array = array();         //大于基准的

        // 从1开始,跳过基准
        for($i=1; $i<$length; $i++) {
            if($base_num > $arr[$i]) {
                $left_array[] = $arr[$i];
            } else {
                $right_array[] = $arr[$i];
            }
        }

        $left_array = self::quickSort($left_array);
        $right_array = self::quickSort($right_array);

        return array_merge($left_array, array($base_num), $right_array);
    }


    public function ko(){

        $arr = [2,4,3,6,5,8,7,1,9,1];

        $re = $this->quickSort($arr);
        dump($re);
        exit;
    }

 

上一篇:快速排序


下一篇:唱、跳、rap和篮球