PHP实现冒泡排序

  1. <?php
  2. /*
  3. *冒泡排序属于蛮力法,时间复杂度为N的平方,可以做一下改进:如果对列表比较一遍之后没有交换元素的位置,那么这个表已经排好序了,算法停止
  4. */
  5. function bubble_sort($arr){
  6.     $len=count($arr);
  7.     for($i=0;$i<$len-1;$i++){
  8.         for ($j=0; $j < $len-i-1; $j++) {
  9.             if($arr[$j+1]<$arr[$j]){
  10.                 $tmp=$arr[$j];
  11.                 $arr[$j]=$arr[$j+1];
  12.                 $arr[$j+1]=$tmp;
  13.             }
  14.         }
  15.     }
  16.     return $arr;
  17. }
  18. $arr=array(3,8,2,5,6);
  19. $res=bubble_sort($arr);
  20. print_r($res);
  21. ?>

标签