php排序算法(冒泡排序,快速排序)
更新時間:2012年10月09日 19:47:26 作者:
php排序算法代碼,包括冒泡排序與快速排序,需要的朋友可以參考下
冒泡排序實現(xiàn)原理
① 首先將所有待排序的數(shù)字放入工作列表中。
② 從列表的第一個數(shù)字到倒數(shù)第二個數(shù)字,逐個檢查:若某一位上的數(shù)字大于他的下一位,則將它與它的下一位交換。
③ 重復步驟②,直至再也不能交換。
代碼實現(xiàn)
復制代碼 代碼如下:
<?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>';
快速排序實現(xiàn)原理
采用分治的思想:先保證列表的前半部分都小于后半部分,然后分別對前半部分和后半部分排序,這樣整個列表就有序了。
代碼實現(xiàn)
復制代碼 代碼如下:
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數(shù)據結構與算法(PHP描述) 快速排序 quick sort
- PHP常用排序算法實例小結【基本排序,冒泡排序,快速排序,插入排序】
- PHP四種排序算法實現(xiàn)及效率分析【冒泡排序,插入排序,選擇排序和快速排序】
- PHP排序算法之快速排序(Quick Sort)及其優(yōu)化算法詳解
- PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
- php實現(xiàn)的常見排序算法匯總
- PHP實現(xiàn)的多維數(shù)組排序算法分析
- PHP實現(xiàn)桶排序算法
- PHP排序算法之歸并排序(Merging Sort)實例詳解
- PHP快速排序算法實例分析
相關文章
PHP imagecreatefrombmp 從BMP文件或URL新建一圖像
大家都知道php GD庫可方便的從URL新建一圖像, GD中有imagecreatefromjpeg(),imagecreatefromPNG()....等2012-07-07

