手机
当前位置:查字典教程网 >编程开发 >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>';

快速排序实现原理

采用分治的思想:先保证列表的前半部分都小于后半部分,然后分别对前半部分和后半部分排序,这样整个列表就有序了。

代码实现

复制代码 代码如下:

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借助phpmailer发送邮件

百度工程师讲PHP函数的实现原理及性能分析(二)

数据库相关问题

利用Yahoo! Search API开发自已的搜索引擎-php版

php判断文本文档字符编码

排序算法之PHP版快速排序、冒泡排序

PHP SOCKET编程详解

PHP VS ASP

精品推荐
分类导航