PHP冒泡排序法
Posted iaknehc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP冒泡排序法相关的知识,希望对你有一定的参考价值。
冒泡排序法是一种很基础的排序方法,也是面试题中经常问到的一道题目.今天做了一下简单的分析,具体代码和思路如下
1 <?php 2 3 /*思路: 4 *按照元素顺序循环比较, 5 * 当前元素为$array[$i],取后面的元素与 6 * $array[$i]比较,所以应该从第$j($j=$i+1)个元素开始比较; 7 * 8 *比较$array[$i]和$array[$j]的大小,将较大的元素放到前面,所以要使用中间变量$tmp 9 *过渡 10 * 11 *因为$i次循环后,只能保证$array[$i]前面的元素比$array[$i]大,并且按照从大到小的顺序排列,在它后面的 12 *元素不能保证是按照同样的顺序排列,所以要比较(count($array)-1)次,自己不和 13 *自己比较 14 */ 15 $array = array(12,45,877,35,545,87,32,2,48,966,252); 16 $num = count($array); 17 for($i=0;$i<$num-1;$i++){ 18 for($j=$i+1;$j<$num;$j++){ 19 if($array[$i]<$array[$j]){ 20 $tmp = $array[$i]; 21 $array[$i] = $array[$j]; 22 $array[$j] = $tmp; 23 } 24 } 25 } 26 //排序后下后结果:Array ( [0] => 966 [1] => 877 [2] => 545 [3] => 252 [4] => 87 [5] => 48 27 //[6] => 45 [7] => 35 [8] => 32 [9] => 12 [10] => 2 ) 28 print_r($array);
以上是关于PHP冒泡排序法的主要内容,如果未能解决你的问题,请参考以下文章
php排序介绍_冒泡排序_选择排序法_插入排序法_快速排序法