6.5.11 使用PHP程序进一步理解快速排序法

6.5.11 使用PHP程序进一步理解快速排序法

<?php
    $arr = array(20, 18, 33, 17, 44, 15, 22, 13, 25, 34, 11, 18, 66);
    function qsort($arr) {
        if(!is_array($arr) || empty($arr))
            return array();
        //获取数组的长度
        $len = count($arr);
        //如果数组中只有一个元素, 直接返回这个数组
        if($len <= 1)
            return $arr;
        $key[0] = $arr[0];
        $left = array();
        $right = array();
        for($i = 1; $i<$len; $i++) {
            if($arr[$i] <= $key[0]) {
                $left[]=$arr[$i];
            }else{
                $right[] = $arr[$i];
            }
        }
        $left=qsort($left);
        $right=qsort($right);
    return array_merge($left, $key, $right);
    }
    print_r($arr);
    echo '<br>';
    print_r(qsort($arr)); 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • PHP 学习目录 ├─PHP视频教程 1 LAMP网站构建 │ ├─PHP教程 1.1.1 新版视频形式介绍│ ...
    曹渊说创业阅读 16,216评论 29 417
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,539评论 25 709
  • 嗯,放假已经第二天了,依旧没有目标的无所事事中,想要改变这种模式,可是懒惰支配着我的身体,计划的减肥也一拖再拖,理...
    国民小仙女阿阅读 220评论 0 0