冒泡排序Bubble Sort的PHP实现。代码中函数说明:
out_arr,用于将数组输出成一个字符串,以便查看
bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的
bubblesort2,第二种方案,从前往后一次选中需要的值,这里是最小的
range,产生一个1到20的数组
shuffle,打乱数组
function out_arr($arr) { return implode(', ', $arr).' '; } function bubblesort($arr) { for ($i = 0; $i < count($arr) - 1; $i++ ) { for($j = 0; $j < count($arr) - $i - 1; $j++ ) { if( $arr[$j] > $arr[$j+1] ) { $tmp = $arr[$j]; $arr[$j] = $arr[$j + 1]; $arr[$j + 1] = $tmp; } } echo sprintf('%3d', $i).' : '.out_arr($arr); } } function bubblesort2($array) { $count = count($array); for($i=0; $i<$count; $i++) { for($j=$count-1; $j>$i; $j--) { if ($array[$j] < $array[$j-1]) { $tmp = $array[$j]; $array[$j] = $array[$j-1]; $array[$j-1] = $tmp; } } echo sprintf('%3d', $i).' : '.out_arr($array); } return $array; } echo '<pre>'; $arr = range(1, 20); shuffle($arr); echo 'ORG : '.out_arr($arr); bubblesort2($arr); echo '</pre>'; ```
冒泡 排序 php bubble sort range shuffle