c++ - 无法理解递归
问题描述
int fun(int a[],int n)
{
int x;
if(n == 1)
return a[0];
else
x = fun(a, n - 1);
if(x > a[n - 1])
return x;
else
return a[n - 1];
}
我无法理解此递归的功能。如果有人可以举例说明。
解决方案
就是下面的递归关系
- 大小为 1 的数组的最大元素是第一个(也是最后一个!)元素。
- 大小 > 1 的数组的最大元素是
- 不包括最后一个元素的子数组的最大元素
- 最后一个元素