Jquery中文网 www.jquerycn.cn
Jquery中文网 >  脚本编程  >  php  >  正文 php冒泡排序与快速排序的例子

php冒泡排序与快速排序的例子

发布时间:2015-03-05   编辑:www.jquerycn.cn
本文为大家介绍php排序算法的两个例子,包括冒泡排序与快速排序,供大家学习参考。

php 冒泡排序与快速排序。

冒泡排序的实现原理
① 首先将所有待排序的数字放入工作列表中。
② 从列表的第一个数字到倒数第二个数字,逐个检查:若某一位上的数字大于他的下一位,则将它与它的下一位交换。
③ 重复步骤②,直至再也不能交换,就完成了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>';
?>

快速排序实现原理
先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。
 

复制代码 代码如下:

<?php
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 实现冒泡排序的简单例子
php 冒泡排序的实现代码
php冒泡排序算法实现代码
php 数组排序方法分享(冒泡排序、选择排序)
php冒泡排序与快速排序的例子
php冒泡排序的小例子
php选择排序算法实现代码
php排序算法 PHP版快速排序与冒泡排序
php实用快速排序算法的实例代码
javascript冒泡程序一例

关键词: php排序  快速排序  冒泡排序  排序算法   
[关闭]