如果把第一个循环作为父节点,第二个循环看做叶子节点,那么比较是在叶子节点完成,然后将比较结果返回给父节点,即$i的位置。
那么冒泡的特点是,从队尾开始,相邻的子节点相互比较交换,小的值就往前移动。像是象棋里的兵,每次只能向前一步。
function maopao($arr){
for($i=0;$i<count($arr);$i++){
for($j=count($arr)-1;$j>$i;$j--){
if($arr[$j]<$arr[$j-1]){
swap($arr[$j],$arr[$j-1]);
}
}
}
return $arr;
}
$arr = createNums();
$rs = maopao($arr);
print_r($rs);