冒泡排序,基础算法,从小到大对一组数排序。
思路:这题从小到大,第一轮排最小,第二轮排第二小,第三轮排第三小,依次类推……
7 3 5 32 2 1 6
第一次循环
7 3 5 32 2 1 6 (7 > 3) 3 7 5 32 2 1 6
3 7 5 32 2 1 6 (3 < 5) 3 7 5 32 2 1 6
3 7 5 32 2 1 6 (3 < 32) 3 7 5 32 2 1 6
3 7 5 32 2 1 6 (3 > 2) 2 7 5 32 3 1 6
2 7 5 32 3 1 6 (2 > 1) 1 7 5 32 3 2 6
1 7 5 32 3 2 6 (1 < 6) 1 7 5 32 3 2 6
第二次循环
1 7 5 32 3 2 6 (7 > 5) 1 5 7 32 3 2 6
1 5 7 32 3 2 6 (5 < 32) 1 5 7 32 3 2 6
1 5 7 32 3 2 6 (5 > 3) 1 3 7 32 5 2 6
1 5 7 32 3 2 6 (5 > 2) 1 2 7 32 3 5 6
1 2 7 32 3 5 6 (2 < 6) 1 2 7 32 3 5 6
$arr = array(7,3,5,32,2,1,6);
$len = count($arr);
for ($i=0;$i<$len-1;$i++){
for ($j=$i+1;$j<$len;$j++){
if($arr[$i]>$arr[$j]){//从小到大
$p = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j]= $p;
}
}
}
var_dump($arr);