PHP 冒泡排序

冒泡排序是公认的排序算法中最慢的一种 , 其原理为两两比较将大的数据逐个交换 , 其过程类似于冒泡因此叫冒泡排序 .

PHP 代码 :

// 交换
function swap(& $a, & $b) {
  $temp = $a;
  $a = $b;
  $b = $temp;
}

function bubbleSort($a) {
  $l = count($a);
  for($i=0; $i<$l; $i++) {
    $flag = false;
    for($j=$l-1; $j>$i; $j--) {
      if($a[$j] < $a[$j-1]) {
        swap($a[$j], $a[$j-1]);
        $flag = true;
      }
    }
    if(!$flag) break;
  }
  return $a;
}


用法 :

echo(implode(",", bubbleSort($a)));// $a 是无序数组 , 例如 $a = range(1,100);shuffle($a);


嘿嘿 , 如果有更好的思想 , 请评论哈 .

本文出自 “一个纠结的PHP程序员” 博客,请务必保留此出处http://johnsylm.blog.51cto.com/1480623/1429389

PHP 冒泡排序,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。