首頁(yè)技術(shù)文章正文

PHP培訓(xùn)之冒泡排序

更新時(shí)間:2017-07-26 來(lái)源:黑馬程序員PHP培訓(xùn)學(xué)院 瀏覽量:

冒泡排序
基本思想:
1501050226885_思想.png

案例說(shuō)明:

 

<?php

 

     //簡(jiǎn)單的

     

     $arr=array(0,5,-1);

     //這是一個(gè)中間變量

     $temp=0;

     //我們要把數(shù)組,從小到大

    

     //外層循環(huán)

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

    

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

            

                   //說(shuō)明前面的數(shù)比后面的數(shù)大,就要交換

                

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

                

                    $temp=$arr[$j];

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

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

            

               }

          }

    

     }

     

     //輸出

     print_r($arr);

     

     

?>

 

 

為了更好使用排序,我們將其封裝成一個(gè)函數(shù):代碼如下 :

<?php

 

 

     //簡(jiǎn)單的

     //現(xiàn)在我們把冒泡法封裝成函數(shù),利用以后使用

     function bubbleSort(&$myarr){

          //這是一個(gè)中間變量

          $temp=0;

          //我們要把數(shù)組,從小到大

          //外層循環(huán)

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

        

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

        

            //說(shuō)明前面的數(shù)比后面的數(shù)大,就要交換

        

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

                

                     $temp=$myarr[$j];

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

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

                

                    }

              }

          }

         

          echo "<br/>函數(shù)中的myarr數(shù)組";

          print_r($myarr);

     }

     

     

     $arr=array(0,5,-1);

    

     

     //使用函數(shù)去排序

     bubbleSort($arr);

    

     //輸出

     print_r($arr);  

     

?>

 

? 從上面的案例我們可以看出

* 數(shù)組默認(rèn)傳遞的是值,不是地址

 


本文版權(quán)歸黑馬程序員PHP培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處,謝謝!
作者:黑馬程序員PHP培訓(xùn)學(xué)院
首發(fā):http://php.itheima.com/
分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!