$arr = [5,2,55,7,1,15,25];//定义数组
sort_buddle0($arr);//将数组排序
function sort_buddle0(&$arr){//传址排序
$len = count($arr);//计算数组长度
for($i=0;$i
for($j=$i+1;$j
if($arr[$j]
$tmp = $arr[$i];
$arr[$i] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
}
function sort_buddle1(&$arr){//传址排序
$len = count($arr);//计算数组长度
for($i=0;$i
for($j=$len-1;$j>$i;$j--){//从下标为$len-1的元素开始,到下标为第一次遍历到的位置+1($i+1)结束,每次-1
if($arr[$j]
$tmp = $arr[$j];
$arr[$j] = $arr[$j-1];
$arr[$j-1] = $tmp;
}
}
}
}
function sort_buddle2(&$arr){//传址排序
$len = count($arr);//计算数组长度
$flag = 1;//默认1,继续遍历
for($i=0;$i
$flag = 0;//赋值为0,
for($j=$len-1;$j>$i;$j--){//从下标为$len-1的元素开始,到下标为第一次遍历到的位置+1($i+1)结束,每次-1
if($arr[$j]
$tmp = $arr[$j];
$arr[$j] = $arr[$j-1];
$arr[$j-1] = $tmp;
$flag = 1;//如果第二次遍历中有元素替换,则将flag置为1,如果一次替换都没有,则说明该位置$i到最后的位置$len-1顺序是正确的
}
}
}
}