一个快速排序的小例子
来源:互联网 发布:双11淘宝抢购不发货 编辑:程序博客网 时间:2024/05/15 06:08
<?php
function quickSort($array)
{
if( !isset( $array[1] ) ) return $array;
$mid = $array[0]; //获取一个用于分割的关键字,一般是首个元素
$leftArray = array();
$rightArray = array();
foreach( $array as $v )
{
if($v > $mid)
$rightArray[] = $v; //把比$mid大的数放到一个数组里
if($v < $mid)
$leftArray[] = $v; //把比$mid小的数放到另一个数组里
}
$leftArray = quickSort($leftArray); //把比较小的数组再一次进行分割
$leftArray[] = $mid; //把分割的元素加到小的数组后面,不能忘了它哦
$rightArray = quickSort($rightArray); //把比较大的数组再一次进行分割
return array_merge($leftArray,$rightArray); //组合两个结果
}
print_r( quickSort( array( '6','5','3','7','9' ) ) );
function quickSort($array)
{
if( !isset( $array[1] ) ) return $array;
$mid = $array[0]; //获取一个用于分割的关键字,一般是首个元素
$leftArray = array();
$rightArray = array();
foreach( $array as $v )
{
if($v > $mid)
$rightArray[] = $v; //把比$mid大的数放到一个数组里
if($v < $mid)
$leftArray[] = $v; //把比$mid小的数放到另一个数组里
}
$leftArray = quickSort($leftArray); //把比较小的数组再一次进行分割
$leftArray[] = $mid; //把分割的元素加到小的数组后面,不能忘了它哦
$rightArray = quickSort($rightArray); //把比较大的数组再一次进行分割
return array_merge($leftArray,$rightArray); //组合两个结果
}
print_r( quickSort( array( '6','5','3','7','9' ) ) );
0 0
- 一个快速排序的小例子
- 一个快速排序的小技巧
- 快速排序的例子
- 自己写的归并排序算法的一个小例子
- php中一个“冒泡排序”的小例子
- 一个小的例子
- 每日一个小算法。快速排序
- 一个验证的小例子
- spss的一个小例子
- 一个JNI的小例子
- 一个JDBC的小例子
- SwingWorker的一个小例子
- 一个dwr的小例子
- wstring的一个小例子
- python的一个小例子
- ScrollableResults的一个小例子
- RSS的一个小例子
- 一个jQ的小例子
- 15.IDA-查看XREF列表
- redis集群环境搭建以及java中jedis客户端集群代码实现 博客分类: redis
- Centos 6.5下以RPM方式安装MySQL5.6.16(详细版)
- 求连续子数组的最大和问题
- 判断字符串是否为空,是否含有表情
- 一个快速排序的小例子
- AWS RHEL7 FTP setup by VSFTPD
- js位置对浏览器加载页面的影响
- java字符串判断相等
- JAVA压缩图片并打成ZIP
- CodeForces - 620E New Year Tree (线段树+dfs序)
- hdu1176免费馅饼
- Java注解-自定义注解实例
- CodeForces 166'E