gpt4 book ai didi

c++ - 用 C++ 编写递归函数的最佳方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:10:37 25 4
gpt4 key购买 nike

问题
我想知道这是否是实现可变深度递归的可行方法,以便我可以在每一步运行一个函数,以及任何更好/其他解决描述问题的方法。
描述
假设我希望有一个函数以模式
填充数组x,y,x,y,x,y其中 x 和 y 是由某种算法定义的变量
x,y,z,x,y,z 其中 x、y 和 z 是由同一算法定义的变量。

对于所有数量的变量,这应该继续。这是实现它的可行方法吗。

void recurse_n(int n)
{
while(n > 0)
{
--n;
recurse_n(n);
n = 0;
// Use algorithm here
}
}

编辑:删除了之前提到的不正确的返回类型。脑放。

最佳答案

因此,根据您的评论,您想知道设置递归函数的最佳方法。您所做的将起作用,但它是令人费解的并且有点令人困惑。我要做的是简化它:

void recurse_n(int n) {
if (n <= 0) {
// Break-out condition
return;
}

--n;
recurse_n(n);

// Your algorithm stuff here.
}

这将使您更容易看到正在发生的事情。不过,我要补充的一件事是,您可能想在调用 recurse_n 之前执行算法操作,但这完全取决于您的算法在做什么。

如果您考虑一下,按照我编写的方式,它将递归直到 n 小于或等于 0,然后再执行任何算法工作。可能是您想先完成算法工作然后递归。

关于c++ - 用 C++ 编写递归函数的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3070425/

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