先上分析图
1、最外层的循环,循环的次数为数组的长度n-1,排序的原理是把最大或最小的数字放在前面,排序的次数
只要拍n-1个数就好了,最后一个数不用排序
2、内层循环,比较相邻两个数字的大小,如果不一致,则交换位置。已经排好序的数字则不再参与排序
php排序代码如下:
<?php
$arr=array(6,1,1,3);
$temp=0;
for($i=0;$i<sizeof($arr)-1;$i++){
for($j=0;$j<sizeof($arr)-1-$i;$j++){
if($arr[$j]>$arr[$j+1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
}
}
}
print_r($arr);
?>