本文實例講述了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次,因為循環到最后一個數時,后面沒有數可以比較了,所以循環到倒數第二個數正好
- $k=$j+1;//得到當前數的后一個數的下標,我們依次比較的是數組下標分別為0-1,1-2,3-4的數值對
- if($array[$j]>$array[$k]){//比較兩數,如果前一個數比后一個大,則交換兩個數的順序
- $t=$array[$j];
- $array[$j]=$array[$k];
- $array[$k]=$t;
- }//第一次循環比較完之后,進行下一輪比較
- //Vevb.com
- }
- }
- print_r($array);
- /*理解冒泡排序的關鍵在于,它的比較結果是大數往后放,依次得出的是最大的數,第二大的數,第三大的數。。。依次類推*/
- ?>
新聞熱點
疑難解答