php排序算法(冒泡排序,快速排序)
冒泡排序?qū)崿F(xiàn)原理
① 首先將所有待排序的數(shù)字放入工作列表中。
② 從列表的第一個(gè)數(shù)字到倒數(shù)第二個(gè)數(shù)字,逐個(gè)檢查:若某一位上的數(shù)字大于他的下一位,則將它與它的下一位交換。
③ 重復(fù)步驟②,直至再也不能交換。
代碼實(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>';
快速排序?qū)崿F(xiàn)原理
采用分治的思想:先保證列表的前半部分都小于后半部分,然后分別對(duì)前半部分和后半部分排序,這樣整個(gè)列表就有序了。
代碼實(shí)現(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ù)據(jù)結(jié)構(gòu)與算法(PHP描述) 快速排序 quick sort
- PHP常用排序算法實(shí)例小結(jié)【基本排序,冒泡排序,快速排序,插入排序】
- PHP四種排序算法實(shí)現(xiàn)及效率分析【冒泡排序,插入排序,選擇排序和快速排序】
- PHP排序算法之快速排序(Quick Sort)及其優(yōu)化算法詳解
- PHP 冒泡排序 二分查找 順序查找 二維數(shù)組排序算法函數(shù)的詳解
- php實(shí)現(xiàn)的常見(jiàn)排序算法匯總
- PHP實(shí)現(xiàn)的多維數(shù)組排序算法分析
- PHP實(shí)現(xiàn)桶排序算法
- PHP排序算法之歸并排序(Merging Sort)實(shí)例詳解
- PHP快速排序算法實(shí)例分析
相關(guān)文章
PHP實(shí)現(xiàn)數(shù)字補(bǔ)零功能的2個(gè)函數(shù)介紹
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)字補(bǔ)零功能的2個(gè)函數(shù)介紹,需要的朋友可以參考下2014-05-05php實(shí)現(xiàn)的表單驗(yàn)證類完整示例
這篇文章主要介紹了php實(shí)現(xiàn)的表單驗(yàn)證類,結(jié)合完整實(shí)例形式分析了php封裝的表單相關(guān)的正則驗(yàn)證、字符串轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2019-08-08解析smarty 截取字符串函數(shù) truncate的用法介紹
本篇文章是對(duì)smarty 截取字符串函數(shù) truncate的用法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06php 多關(guān)鍵字 高亮顯示實(shí)現(xiàn)代碼
php 多關(guān)鍵字 高亮顯示實(shí)現(xiàn)代碼,需要的朋友可以參考下2012-04-04mysql_num_rows VS COUNT 效率問(wèn)題分析
mysql_num_rows 和 count( * ) 都能統(tǒng)計(jì)總數(shù),那個(gè)能好一點(diǎn)呢?2011-04-04php實(shí)現(xiàn)用手機(jī)關(guān)閉計(jì)算機(jī)(電腦)的方法
這篇文章主要介紹了php實(shí)現(xiàn)用手機(jī)關(guān)閉計(jì)算機(jī)(電腦)的方法,涉及php使用system方法調(diào)用系統(tǒng)命令的相關(guān)技巧,需要的朋友可以參考下2015-04-04