用双重 for 循环的话是不是也可以解决
<?php
$arr = [3, 2, 5, 1, 10, 23, 13];
for ($j = 0; $j < count($arr) - 1; $j++) {
for ($i = 0; $i < count($arr) - 1; $i++) {
if ($arr[$i] > $arr[$i + 1]) {
list($arr[$i], $arr[$i + 1]) = array($arr[$i + 1], $arr[$i]);
}
}
}
var_dump($arr);
可以,只是你这个时间复杂度为 O(N²) 。