PHP實現(xiàn)冒泡排序的簡單實例
來源:易賢網(wǎng) 閱讀:697 次 日期:2016-08-18 16:20:22
溫馨提示:易賢網(wǎng)小編為您整理了“PHP實現(xiàn)冒泡排序的簡單實例”,方便廣大網(wǎng)友查閱!

1、首先我們必須弄清楚什么是冒泡排序,不理解冒泡排序的原理,我們就無法寫出代碼。

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

PHP實現(xiàn)代碼:

<?php

  //冒泡排序方法

  function bubblesort(&$arr){

      //定義一個變量保存交換的值

    $temp =0;

    for($i=0;$i<count($arr);$i++){

      for($j=0;$j<count($arr)-$i-1;$j++){

        if($arr[$j]>$arr[$j+1]){

          //如果前面的那個數(shù)大于后面的那個數(shù),那么他們就進行交換

          $temp=$arr[$j];

          $arr[$j]=$arr[$j+1];

          $arr[$j+1]=$temp;

        }

      }      

    }

  }

  $arr=array(100,99,200,5,-4,6,-7);

  bubbleSort($arr);

  print_r($arr);  //數(shù)組是值傳遞,所以傳遞的時候加個&符號就是地址傳遞,改變外部變量

?>

以上這篇PHP實現(xiàn)冒泡排序的簡單實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考

更多信息請查看網(wǎng)絡(luò)編程
易賢網(wǎng)手機網(wǎng)站地址:PHP實現(xiàn)冒泡排序的簡單實例
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)