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