美文网首页
PHP - 快速排序

PHP - 快速排序

作者: 欢喜的看着书 | 来源:发表于2019-07-23 13:45 被阅读0次

使用PHP代码实现快速排序算法

快速排序是十分常用的高效率的算法,其思想是:先选一个标尺,用它把整个队列过一遍筛选,以保证其左边的元素都小于它,其右边的元素大于它

    public function handle()
    {
        $arr = [12,33,5,78,11];
        $res = $this->quickSort($arr);
        dump($res);
    }

    //快速排序
    protected function quickSort($arr){

        // 获取数组长度
        $length = count($arr);

        // 判断长度是否需要继续二分比较
        if($length <= 1){
            return $arr;
        }

        // 定义基准元素
        $base = $arr[0];

        // 定义两个空数组,用于存放和基准元素的比较后的结果
        $left = [];
        $right = [];

        // 遍历数组
        for ($i=1; $i < $length; $i++) {

            // 和基准元素作比较
            if ($arr[$i] > $base) {
                $right[] = $arr[$i];
            }else {
                $left[] = $arr[$i];
            }

        }

        // 然后递归分别处理left和right
        $left = $this->quickSort($left);
        $right = $this->quickSort($right);

        // 合并
        return array_merge($left,[$base],$right);

    }

相关文章

  • 排序算法

    冒泡排序 PHP OC 快速排序

  • PHP的四种排序方式

    PHP的四种排序方式 1.冒泡排序 2.插入排序 3.快速排序 5.选择排序

  • php快速排序

  • PHP 快速排序

  • PHP - 快速排序

    使用PHP代码实现快速排序算法 快速排序是十分常用的高效率的算法,其思想是:先选一个标尺,用它把整个队列过一遍筛选...

  • php快速排序

    首先我们要理解一下快速排序的原理:找到当前数组中的任意一个元素(一般选择第一个元素),作为标准,新建两个空数组,遍...

  • 算法总结

    1.使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组 //冒泡排序(数组排序) function bubb...

  • PHP 实现快速排序

    导语 这篇了解下快速排序。 快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-...

  • PHP实现快速排序

    快速排序属于交换排序,是一种不稳定排序,平均时间复杂度为O(nlog2^n),最好情况时间复杂度为O(nlog2^...

  • PHP-快速排序

网友评论

      本文标题:PHP - 快速排序

      本文链接:https://www.haomeiwen.com/subject/sgmolctx.html