博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
重温PHP之快速排序
阅读量:4880 次
发布时间:2019-06-11

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

基本原理:选出当前数组中任一元素(通常为第一个)作为标准,新建两个空数组分别置于当前数组前后,然后遍历当前数组,如果数组中元素值小于等于第一个元素值就放到前边空数组,否则放到后边空数组。

1 //快速排序 2 function quick_sort($arr) { 3     //获取数组单元个数 4     $count = count($arr); 5     //判断数组长度 6     if ($count <= 1) { 7         return $arr; 8     } else { 9         //定义两个空数组10         $before = $after = array();11         //遍历数组12         for ($i=1; $i < $count; $i++) {13             //以第一个元素为标准进行判断14             if ($arr[$i] <= $arr[0]) {15                 $before[] = $arr[$i];16             } else {17                 $after[] = $arr[$i];18             }19         }20         //递归调用21         $before = quick_sort($before);22         $after = quick_sort($after);23         //合并数组24         return array_merge($before, array($arr[0]), $after);25     }26 }27 //测试28 $arr = array(16, 9, 3, 12, 88, 19, 18, 16);29 var_dump(quick_sort($arr));  
  

 

 

 

转载于:https://www.cnblogs.com/splendid/p/9609926.html

你可能感兴趣的文章
showModalDialog打开一个子窗口,在子窗口添加一条记录后,关闭子窗口刷新父窗口...
查看>>
微信支付体验
查看>>
Excel导数据到数据库
查看>>
zz 悲催的程序员,以及程序员的悲催
查看>>
Flv.js
查看>>
Java工程师成神之路
查看>>
线程池ThreadPoolExecutor整理
查看>>
如何将离线的PIP安装包快速安装好
查看>>
应对通过代理攻击服务器的方法
查看>>
TIPSO--基于JQUERY的消息提示框插件,用起来蛮顺手
查看>>
散列表(哈希表)
查看>>
Linux基础命令---显示域名ypdomainname
查看>>
Rails学习笔记(1)-Ubuntu12.04下的环境配置
查看>>
LeetCode - Remove Duplicates from Sorted Array
查看>>
object.__getattr__(self, name) 、object.__setattr__(self, name, value)
查看>>
环境光
查看>>
ExtJS基础篇
查看>>
Javassist字节码强化
查看>>
把普通函数指针,变成对象方法指针
查看>>
jax-ws开发接口传参数
查看>>