<?php
//冒泡排序
function bubble($arr) {
$n = count($arr);
if ($n < 2) return $arr;
$flag = 1; //标记,若已经有序则无需再下沉
//n-1次,每次下沉一个最大的到最右边
for ($i = 1;$i < $n && $flag;$i++) {
$flag =0; //初始化假定有序
for ($j = 0;$j<$n-$i;$j++) {
if ($arr[$j] > $arr[$j+1]) {
$flag = 1; //存在无序的,下次继续遍历
$tmp= $arr[$j]; //交换,大的向后
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
return $arr;
}
$arr = [9,1,3,3,7,8,6,4,5,2,10];
$res = bubble($arr);
print_r($res);