当前位置:首页 > PHP教程 > php应用 > 列表

PHP冒泡排序程序代码与源代码

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-09 15:36:25 浏览: 评论:0 

冒泡排序简介:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.

走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成,这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名.

冒泡排序算法的运作原理:比较相邻的元素,如果第一个比第二个大,就交换他们两个,对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数.

针对所有的元素重复以上的步骤,除了最后一个,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较.

PHP代码实例:

  1. $a=array('3','8','1','4','11','7'); 
  2. print_r($a); 
  3. $len = count($a); 
  4. //从小到大 
  5. for($i=1;$i<$len;$i++) 
  6.     for($j=$len-1;$j>=$i;$j--) 
  7.         if($a[$j]<$a[$j-1]) 
  8.         {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了 
  9.             $x=$a[$j]; 
  10.             $a[$j]=$a[$j-1]; 
  11.             $a[$j-1]=$x
  12.          } 

再看一个,代码如下:

  1. <?php 
  2. #冒泡排序法 
  3. $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); 
  4. $tmp;  //开源软件:phpfensi.com 
  5. for($i=0;$i<count($arr)-1;$i++ ){        
  6.     for($j=0;$j<count($arr)-1-$i;$j++){  
  7.         if($arr[$j] > $arr[$j+1]){ 
  8.             $tmp = $arr[$j]; 
  9.             $arr[$j] = $arr[$j+1]; 
  10.             $arr[$j+1] = $tmp
  11.         }  
  12.     } 
  13.    
  14.  
  15. print_r($arr); 
  16. ?>

Tags: PHP冒泡排序 PHP快速排序

分享到: