国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP實現冒泡排序幾個實例

2024-05-04 21:58:06
字體:
來源:轉載
供稿:網友

php冒泡排序就是實現數據交換然后找最大最小之間的,最后交換位置進行排序了,這個是我們以前用得最多的排序法了.

冒泡排序(BubbleSort)的基本概念是:

依次比較相鄰的兩個數,將小數放在前面,大數放在后面,即在第一趟,首先比較第1個和第2個數,將小數放前,大數放后,然后比較第2個數和第3個數,將小數放前,大數放后,如此繼續,直至比較最后兩個數,將小數放前,大數放后,至此第一趟結束,將最大的數放到了最后,在第二趟,仍從第一對數開始比較(因為可能由于第2個數和第3個數的交換,使得第1個數不再小于第2個數),將小數放前,大數放后,一直比較到倒數第二個數(倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到一個新的最大數(其實在整個數列中是第二大的數),如此下去,重復以上過程,直至最終完成排序.

例1,簡單實現冒泡排序,代碼如下:

  1. #冒泡排序法 
  2. $arr = array(12,45,89,3,24,55,223,76,22,11,89,2,4,5,28,112,20,434,23,65,65,765,6,8,23,5,33,553,45,423,64,77,84,23); 
  3. $tmp
  4. for($i=0;$i<count($arr)-1;$i++ ){        
  5.     for($j=0;$j<count($arr)-1-$i;$j++){  
  6.         if($arr[$j] > $arr[$j+1]){ 
  7.             $tmp = $arr[$j]; 
  8.             $arr[$j] = $arr[$j+1]; 
  9.             $arr[$j+1] = $tmp
  10.         }  
  11.     } 
  12. print_r($arr); 

例2,代碼如下:

  1. <?php 
  2.      
  3.     //冒泡排序方法     function bubblesort(&$arr){ 
  4.             //定義一個變量保存交換的值         $temp =0; 
  5.         for($i=0;$i<count($arr);$i++){ 
  6.              
  7.             for($j=0;$j<count($arr)-$i-1;$j++){ 
  8.                          
  9.                 if($arr[$j]>$arr[$j+1]){ 
  10.                     //如果前面的那個數大于后面的那個數,那么他們就進行交換                     $temp=$arr[$j]; 
  11.                     $arr[$j]=$arr[$j+1]; 
  12.                     $arr[$j+1]=$temp
  13.                 } 
  14.             }             
  15.         } 
  16.     } 
  17.  
  18.     $arr=array(100,99,200,5,-4,6,-7); 
  19.     bubbleSort($arr); 
  20.     print_r($arr);   //數組是值傳遞,所以傳遞的時候加個&符號就是地址傳遞,改變外部變量  
  21. ?> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陇西县| 梁平县| 三都| 巴中市| 四子王旗| 英超| 鄂尔多斯市| 宁乡县| 阳谷县| 开化县| 沂南县| 遵义县| 泾阳县| 肥东县| 莆田市| 竹溪县| 河南省| 玉环县| 徐闻县| 磐石市| 淳化县| 织金县| 喜德县| 五河县| 怀远县| 广元市| 彭山县| 随州市| 将乐县| 永康市| 余姚市| 饶河县| 格尔木市| 灯塔市| 大埔县| 福鼎市| 峨眉山市| 且末县| 彩票| 扶绥县| 同江市|