php數(shù)組冒泡排序算法實例

字號:


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