PHP 快速排序法
2016-03-15 17:30
537 查看
<?php function quickSort($arr) { //先判断是否需要继续进行 $length = count($arr); if ($length <= 1) { return $arr; } //如果没有返回,说明数组内的元素个数 多余1个,需要排序 //选择一个标尺 //选择第一个元素 $base_num = $arr[0]; //遍历 除了标尺外的所有元素,按照大小关系放入两个数组内 //初始化两个数组 $left_array = array();//小于标尺的 $right_array = array();//大于标尺的 for ($i = 1; $i < $length; $i++) { if ($base_num > $arr[$i]) { //放入左边数组 $left_array[] = $arr[$i]; } else { //放入右边数组 $right_array[] = $arr[$i]; } } //再分别对 左边 和 右边的数组进行相同的排序处理方式 //递归调用这个函数,并记录结果 $left_array = quickSort($left_array); $right_array = quickSort($right_array); //合并左边 标尺 右边 return array_merge($left_array, array($base_num), $right_array); } $arr = array(88, 1, 2, 5, 4, 3, 66, 0); $res = quickSort($arr); print_r($res);
相关文章推荐
- 1 #安装php
- ThinkPHP之add、save无法添加、修改的解决方案
- 使用cmd命令行方式登录ftp上传下载数据
- php中JSON的标准:双引号而非单引号
- 清除ViewPager+FragmentPagerAdapter的缓存
- php如何在原来的时间上加一天?一小时?
- PHP cURL最基本的请求方式
- PHP截取中英混合字符串(UTF-8)
- PDO could not find dirver
- PHP对二维数组按字段进行排序
- PHPExcel 怎样在单元格里画出斜线边框
- PHP单例模式应用详解
- 正则表达式一 (php常用正则表达式匹配函数)
- 纯PHP定时执行任务的实现
- 控制反转与依赖注入
- PHP中foreach有关引用的问题
- Yii2.0-Widget小部件制作
- PHP如何添加自带的扩展库
- 为用户添加了被删用户的smtp地址,作为备用smtp地址之后发送邮件不可达
- Yii2的一些简单知识