博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php实现快速排序
阅读量:7045 次
发布时间:2019-06-28

本文共 993 字,大约阅读时间需要 3 分钟。

php实现快速排序

这几上代码

一、代码

代码一:

1 

 

 

代码二:在thinkphp的控制器中

1 
quickSortDemo();12 }13 14 //快速排序(递归)15 public function quickSort($arr){16 //0、递归返回条件17 if(count($arr)<=1) return $arr;18 //1、找到分割点19 $mid = $arr[0];20 $l = array();21 $r = array();22 //2、对数据进行分割,也就是对除分割点外的每个数据进行遍历23 for($i=1;$i
quickSort($l);28 $r=$this->quickSort($r);29 //3、对分割的数据进行组合30 return array_merge($l,array($mid),$r);31 }32 33 public function quickSortDemo(){34 $arr=array(19,65,2,5,1,456,32,64564,2,7,9,2);35 dump($this->quickSort($arr));36 }37 }

1、第20行,这里是用新数组来存分割出来的数据,而不是在原数据的基础上交换,一种典型的那空间换低算法复杂度

2、第27行,实在容易忘记接收返回值

3、第27行,因为在thinkphp中,这个this->好像都不能省的样子,后者还有什么别的原因

4、第30行,array的那些函数,前缀都是array_,而不是arr_,array_merge()的参数必须是数组

5、第30行,array()参数是变量的时候可以将变量化为数组,其实就和array的定义那样

6、第24行,数组添加值,稍微注意一下就好

7、快排的核心点,找好分割点,可以拿第一个点做分割点

 

截图

 

转载于:https://www.cnblogs.com/Renyi-Fan/p/8979324.html

你可能感兴趣的文章
项目进展和总结
查看>>
dubbo协议参考手册(转)
查看>>
DevOps - Git - 必知必会
查看>>
数据结构-排序
查看>>
kernel不同版本中文件的变更(简洁版)【不断补充】
查看>>
[YC703]ゴミ拾い Easy
查看>>
Cantor-Bernstein-Schroeder定理的证明
查看>>
Elementary Methods in Number Theory Exercise 1.4.30
查看>>
从有理数到实数(序)
查看>>
java运算符优先级
查看>>
首页列表显示全部问答,完成问答详情页布局。
查看>>
CCNA 第五章 变长子网掩码、汇总和TCP/IP故障排除
查看>>
Bash的一些零星笔记
查看>>
update select 多字段
查看>>
构建之法阅读笔记06
查看>>
备份数据库
查看>>
多数据源配置
查看>>
day27-3 matplatlib模块
查看>>
mysql字符集编码乱码测试如下
查看>>
如何将JetBrains IDE 光标由块变为 |
查看>>