php排序算法(冒泡排序,快速排序)
2015-01-24信息快讯网
php排序算法代码,包括冒泡排序与快速排序,需要的朋友可以参考下
冒泡排序实现原理
① 首先将所有待排序的数字放入工作列表中。
② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。
③ 重复步骤②,直至再也不能交换。
代码实现
<?php
function bubbingSort(array $array)
{
for($i=0, $len=count($array)-1; $i<$len; ++$i)
{
for($j=$len; $j>$i; --$j)
{
if($array[$j] < $array[$j-1])
{
$temp = $array[$j];
$array[$j] = $array[$j-1];
$array[$j-1] = $temp;
}
}
}
return $array;
}
print '<pre>';
print_r(bubbingSort(array(1,4,22,5,7,6,9)));
print '</pre>';
快速排序实现原理
采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。
代码实现
function quickSort(array $array)
{
$len = count($array);
if($len <= 1)
{
return $array;
}
$key = $array[0];
$left = array();
$right = array();
for($i=1; $i<$len; ++$i)
{
if($array[$i] < $key)
{
$left[] = $array[$i];
}
else
{
$right[] = $array[$i];
}
}
$left = quickSort($left);
$right = quickSort($right);
return array_merge($left, array($key), $right);
}
print '<pre>';
print_r(quickSort(array(1,4,22,5,7,6,9)));
print '</pre>';
php实现快速排序的三种方法分享
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
浅析PHP中的UNICODE 编码与解码
解析PHP 使用curl提交json格式数据
PHP 过滤页面中的BOM(实现代码)
解析PHP的session过期设置
PHP数组排序函数合集 以及它们之间的联系分析
PHP 冒泡排序 二分查找 顺序查找 二维数组排序算法函数的详解
PHP Class&Object -- PHP 自排序二叉树的深入解析
解析PHP中数组元素升序、降序以及重新排序的函数
使用array mutisort 实现按某字段对数据排序
基于php冒泡排序算法的深入理解
php在程序中将网页生成word文档并提供下载的代码
php全排列递归算法代码
php列出一个目录下的所有文件的代码
仿Aspnetpager的一个PHP分页类代码 附源码下载
php随机输出名人名言的代码
PHP面向对象学习笔记之二 生成对象的设计模式
php比较多维数组中值的大小排序实现代码
php实现快速排序法函数代码
php中3种方法统计字符串中每种字符的个数并排序
php中的一些数组排序方法分享
php数据结构与算法(PHP描述) 快速排序 quick sort
PHP冒泡排序算法代码详细解读
PHP 数据结构 算法描述 冒泡排序 bubble sort