我想寫建立起一個問題的所有可能的解決方案的遞歸函數。我想,我應該通過一個數組,然後,在每個遞歸步驟中,將其設置爲在該遞歸步驟可能所有的值,但然後我開始想,如果這是可能的,因爲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);
}
}
}
在你提供的,你不需要複製一個數組非常實施,遞歸的每級修改自己的元素。 – Ixanezis