我對遞歸的瞭解是,函數自己調用,它有停止的基本條件。我的教授編寫了一個程序,他稱這個程序正在發生遞歸,我說不,它不是。我對此感到困惑。所以我要求你澄清我的困惑。他編寫的程序如下代碼:在Java因子程序中遞歸
int fact(int n) {
if (n == 0) {
return 1;
}
for (int i = n; i >= 1; i--) {
s1.push(i);
}
return Return_result();
}
int Return_result() {
int f = 1;
while (s1.top != -1) {
f = f * s1.pop();
}
return f;
}
它不是。 'Return_result()'不會調用它自己,堆棧函數'push()'和'pop()'也不是遞歸的。迭代和遞歸不是一回事。 – hfontanez 2014-11-08 14:10:59