本文實(shí)例講述了php數(shù)組冒泡排序算法。分享給大家供大家參考,具體如下:
<?php
/*@冒泡排序算法
*/
$array=array(5,45,22,11,32,28,35,56,17,21,92);
$len=count($array);//計(jì)算數(shù)組長(zhǎng)度
for($i=0;$i<$len-1;$i++){//需要比較$len-1輪,每一輪需要比較$len-1次
for($j=0;$j<$len-1;$j++){//需要比較$len-1次,因?yàn)檠h(huán)到最后一個(gè)數(shù)時(shí),后面沒(méi)有數(shù)可以比較了,所以循環(huán)到倒數(shù)第二個(gè)數(shù)正好
$k=$j+1;//得到當(dāng)前數(shù)的后一個(gè)數(shù)的下標(biāo),我們依次比較的是數(shù)組下標(biāo)分別為0-1,1-2,3-4的數(shù)值對(duì)
if($array[$j]>$array[$k]){//比較兩數(shù),如果前一個(gè)數(shù)比后一個(gè)大,則交換兩個(gè)數(shù)的順序
$t=$array[$j];
$array[$j]=$array[$k];
$array[$k]=$t;
}//第一次循環(huán)比較完之后,進(jìn)行下一輪比較
}
}
print_r($array);
/*理解冒泡排序的關(guān)鍵在于,它的比較結(jié)果是大數(shù)往后放,依次得出的是最大的數(shù),第二大的數(shù),第三大的數(shù)。。。依次類(lèi)推*/
?>
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。