#冒泡
//理解:俩轮循环
function bubbleSort($array) {
$count = count($array);
for ($i = 0; $i < $count; $i++) { //总共循环的轮数(组数)
for ($j = $count-1; $j > $i; $j --) { //每一组需要比较的次数
if ($array[$j] >= $array[$j-1]) { //倒序:谁大往前放;正序:谁小往前放
$tmp = $array[$j];
$array[$j] = $array[$j - 1];
$array[$j - 1] = $tmp;
}
}
}
return $array;
}
#快速
//使用递归处理
function quickSort($array) {
$count = count($array);
if ($count <= 1) return $array;
$leftArr = $rightArr = [];
$first = $array[0];
for ($i = 1; $i < $count; $i++) {
if ($array[$i] <= $first) {
$leftArr[] = $array[$i];
} else {
$rightArr[] = $array[$i];
}
}
$leftArr = quickSort($leftArr);
$rightArr = quickSort($rightArr);
return array_merge($leftArr, [$first], $rightArr);
}