1、冒泡排序思路分析:在要排序的一组数中,对当前还未排好的序列,从前往后对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。
function maopao($arr){
$count = count($arr);
$center = '';
for($i=1;$i<=$count;$i++){
for($m=0;$m<$count-$i;$m++){
if($arr[$m] > $arr[$m+1]){
$center = $arr[$m];
$arr[$m] = $arr[$m+1];
$arr[$m+1] = $center;
}
}
}
return $arr;
}
$arr = array(4,7,22,44,9,3,55);
var_dump(one($arr));
冒泡排序顾名思义:通俗的说就是每次交换2个相邻数字的位置,根据其大小,由于是往右交换,所以第一次循环以后最大的就沉淀在了最后面,故此
m<
count-$i 第二次循环的次数会随着大的沉淀而减少
例如定义的数组,其过程为:
1次循环
4 7 22 9 3 44 55
2次循环
4 7 9 3 22 44 55
3次循环
4 7 3 9 22 44 55
4次循环
4 3 7 9 22 44 55
5次循环
3 4 7 9 22 44 55