PHP冒泡排序程序代码与源代码
冒泡排序简介:冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法,它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.
走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成,这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端,故名.
冒泡排序算法的运作原理:比较相邻的元素,如果第一个比第二个大,就交换他们两个,对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,在这一点,最后的元素应该会是最大的数.
针对所有的元素重复以上的步骤,除了最后一个,持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较.
PHP代码实例:
$a=array('3','8','1','4','11','7'); print_r($a); $len = count($a); //从小到大 for($i=1;$i<$len;$i++) { for($j=$len-1;$j>=$i;$j--) if($a[$j]<$a[$j-1]) {//如果是从大到小的话,只要在这里的判断改成if($b[$j]>$b[$j-1])就可以了 $x=$a[$j]; $a[$j]=$a[$j-1]; $a[$j-1]=$x; } }
再看一个,代码如下:
<?php #冒泡排序法 $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); $tmp; for($i=0;$i<count($arr)-1;$i++ ){ for($j=0;$j<count($arr)-1-$i;$j++){ if($arr[$j] > $arr[$j+1]){ $tmp = $arr[$j]; $arr[$j] = $arr[$j+1]; $arr[$j+1] = $tmp; } } } print_r($arr);
本文地址:http://www.phprm.com/develop/fs9136.html
转载随意,但请附上文章地址:-)