全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

PHP培訓(xùn)之冒泡排序

更新時(shí)間:2017-08-31 來(lái)源:黑馬程序員PHP培訓(xùn)學(xué)院 瀏覽量:

許多人都說(shuō)算法是程序的核心,算法的好壞決定了程序的質(zhì)量。作為一個(gè)初學(xué)者,雖然很少接觸到算法方面的東西。但是對(duì)于基本的排序算法還是應(yīng)該掌握的,它是程序開(kāi)發(fā)的必備工具。


冒泡排序

思路分析:在要排序的一組數(shù)中,對(duì)當(dāng)前還未排好的序列,從前往后對(duì)相鄰的兩個(gè)數(shù)依次進(jìn)行比較和調(diào)整,讓較大的數(shù)往下沉,較小的往上冒。即,每當(dāng)兩相鄰的數(shù)比較后發(fā)現(xiàn)它們的排序與排序要求相反時(shí),就將它們互換。

代碼實(shí)現(xiàn):

$arr=array(1,43,54,62,21,66,32,78,36,76,39);
function bubbleSort($arr)
{
$len=count($arr);
//該層循環(huán)控制 需要冒泡的輪數(shù)
for($i=1;$i<$len;$i++)
{ //該層循環(huán)用來(lái)控制每輪 冒出一個(gè)數(shù) 需要比較的次數(shù)
for($k=0;$k<$len$i;$k++)
{
if($arr[$k]>$arr[$k+1])
{
$tmp=$arr[$k+1];
$arr[$k+1]=$arr[$k];
$arr[$k]=$tmp;
}
}
}
return $arr;
}



本文版權(quán)歸黑馬程序員PHP培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處,謝謝!
作者:黑馬程序員PHP培訓(xùn)學(xué)院
首發(fā):http://php.itheima.com/
分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!