Ben*_*Ben 1 c++ algorithm recursion function
问题
我想知道这是否是实现变深度递归的可行方法,这样我就可以在每个步骤运行一个函数,并为描述问题提供更好的/其他解决方案.
描述
假设我希望有一个函数以模式填充数组,
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
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:删除了之前提到的错误的返回类型.Brainfart.
因此,根据您的评论,您想知道设置递归函数的最佳方法.你所做的将会起作用,但它是令人费解的,有点令人困惑.我要做的是简化它:
void recurse_n(int n) {
if (n <= 0) {
// Break-out condition
return;
}
--n;
recurse_n(n);
// Your algorithm stuff here.
}
Run Code Online (Sandbox Code Playgroud)
这样可以更容易地看到发生了什么.我要添加的一件事是你可能想在调用recurse_n之前做算法的东西,但这完全取决于你的算法在做什么.
如果你考虑它,我写它的方式,它会递归,直到n小于或等于0才能进行任何算法工作.可能是你想要算法工作然后递归.