不会算法的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);