下面的代码用于在不使用递归的情况下在已排序数组中添加元素。如何使用递归实现相同的功能?
function Add (&$array, $number) {
$size = count($array);
array_push($array, $number);
for ($i = $size; $i > 0; $i--) {
if ($array[$i] > $array[$i - 1]) {
break;
}
$temp = $array[$i - 1];
$array[$i - 1] = $array[$i];
$array[$i] = $temp;
}
}
答案 0 :(得分:0)
function add ($array, $nbre) {
if (count ($array) == 0) return array ($nbre);
if ($nbre > $array[0]) return array_merge (array ($array[0]), add (array_slice ($array, 1), $nbre));
else return array_merge (array ($nbre), $array);
}