小编Rut*_*lak的帖子

使用递归查找数组中的最大值

我最近一直在学习“数据抽象和使用 C++ 解决问题”这本书,但是我确实在某些时候卡住了。

我在递归章节中,遇到了一个问题,即“在数组中查找最大值”。如你所知,我必须用递归的角度来解决这个问题,实际上我已经用这个算法解决了这个问题;

基本上,从数组的第一项到最后一项开始,算法正在将每个值相互比较,并且在数组的最大项中独立于数组(调用基本情况)

int largestValue(int anArray[], int first , int last){
int value;

// base case
if(first == last){
    value = anArray[first];
}
else if(anArray[first]>anArray[first+1]){
    anArray[first + 1] = anArray[first];
    value = largestValue(anArray, first + 1, last);
}else{ // anArray[first] < anArray[first + 1]
    value = largestValue(anArray, first + 1, last);
}
return value;
Run Code Online (Sandbox Code Playgroud)

但是,在我阅读了问题的描述后,有人说“你必须用多路径递归来解决这个问题”。为了更好地理解我把问题的截图: 在此处输入图片说明

而且我无法从“多路径递归”的角度想出算法。

c++ arrays algorithm recursion multipath

2
推荐指数
1
解决办法
193
查看次数

标签 统计

algorithm ×1

arrays ×1

c++ ×1

multipath ×1

recursion ×1