gpt4 book ai didi

c++ - 使用递归 C++ 的最小 int 数组

转载 作者:太空宇宙 更新时间:2023-11-04 15:34:47 25 4
gpt4 key购买 nike

我正在尝试使用递归来查找数组中的最小整数。

这是我的代码:

int minArray(int* array, int size){
if (size == 0){
return array[0];
}
int min = array[0];
if (min > minArray(array+1,size-1)){
min = minArray(array+1,size-1);
}
return min;
}

它有什么问题?如果我在 {1,2,3,4,5} 上调用该函数,它将返回 0。

最佳答案

条件不对。零元素数组没有元素,因此访问它的 array[0] 是非法的。

也应避免在此函数中调用该函数两次。

试试这个:

int minArray(int* array, int size){
if (size == 1){
return array[0];
}
int min = array[0];
int candidate = minArray(array+1,size-1);
if (min > candidate){
min = candidate;
}
return min;
}

关于c++ - 使用递归 C++ 的最小 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36994855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com