当前位置:首页 > PHP教程 > php数组 > 列表

简单的一个php 冒泡排序算法

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-15 15:14:43 浏览: 评论:0 

在我们刚学编程就知道各种排序算法,现在我们再次看看php 冒泡算法在实际应用中用法吧,有需要的朋友简单的参考一下,代码如下:

  1. <?php 
  2. header('Content-Type: text/html; charset=utf-8'); 
  3. //   简单冒泡算法      0 1 2 3 4 
  4. $a = array(5,4,3,2,1);  //5 
  5. echo  "比较54321   <br /><hr />"
  6. function  mp($a){  //传值 要是数组 
  7.         //i=1 i<5 i++ 
  8.         for($i=0;$i<count($a);$i++){   
  9.                 /* j=3 j<i  j--   
  10.                  * 这里为什么要-2呢  
  11.                  * 因为数组是从0开始的 所以要-1  
  12.                  * 然后 一会要比较后一位 和倒数第二位  所以 要-2 
  13.                  * 当然 -1  也可以 只要把 $a[j+1]改成$a[j]  然后把$a[j] 改成$a[j-1] 即可 
  14.                  */ 
  15.                 for ($j=count($a)-2;$j>=$i;$j--){   
  16.                         //判断数组最大的位数  和第二大的相比 
  17.                          if ($a[$j+1]<$a[$j]){     
  18.                                  echo  $a[$j+1],'------小于-----',$a[$j],'----------排列前:',fn($a); 
  19.                //如果最大的小于第二大的就换位置 
  20.                                  $tmp = $a[$j+1];    
  21.                                    $a[$j+1]=$a[$j]; 
  22.                                    $a[$j]=$tmp
  23.                                    echo '------------排列后:',fn($a),'<br><hr>'
  24.                          } 
  25.                           
  26.                 } 
  27.                  
  28.                  
  29.         } 
  30.         return $a
  31. echo  fn(mp($a)); 
  32.  
  33. function fn($arr){ 
  34.         foreach ($arr as $value){ 
  35.                 echo  $value
  36.         }         
  37. ?> 

Tags: php 冒泡 排序 算法

分享到: