算法 之 冒泡排序法

不会算法的php程序员不是好程序员~

 

冒泡排序法:有n个数,第一次排序将最小的(或者最大的)排到最右边,通过由最左开始到最右边的数两两比较。同理,第二次将n-1个数的最小的(或者最大的)排到倒数第二个位置。以此类推。

关键点:相邻两个数的两两比较

时间复杂度:O(n^2)

上代码:

  $a = array(3,8,1,5,7,2,6,4);
    for($j = count($a) ; $j > 1 ; $j--){
        for($i = 0 ; $i < $j-1 ; $i++){
            if($a[$i] > $a[$i+1]){
                $t = $a[$i];
                $a[$i] = $a[$i+1];
                $a[$i+1] = $t;
            }
        }
    }
    
    print_r($a);

 

posted @ 2016-05-27 15:02  王大西  阅读(158)  评论(0编辑  收藏  举报