我想编写一个递归函数来构建问题的所有可能解决方案。我在想我应该传递一个数组,然后在每个递归步骤中,将它设置为该递归步骤中可能的所有值,但后来我开始想知道这是否可能,因为 C 通过传递一个指针来传递一个数组。你通常如何处理这个问题?
我正在考虑这些方面的事情。根据选择的路径,该数组将采用许多不同的值。我猜我们真正想要的是按值传递数组。
recFunc(int* array, int recursiveStep) {
for (int i = 0; i < a; i++) {
if (stopCondition) {
doSomething;
}
else if (condition) {
array[recursiveStep] = i;
recFunc(array, recursiveStep+1);
}
}
}