一千萬個為什麽

搜索

遞歸方法中的基本情況


這裏有一個理論問題,關於遞歸方法中的基數或停止情況,它的標準是什麽?

我的意思是,沒有身體,只是一個返回聲明是正常的嗎?

總是如下:

if (input operation value)
    return sth;

你有不同的想法嗎?

最佳答案

基本情況是終止循環(避免成為無限遞歸)。在基本情況下沒有標準,任何簡單到可以精確解決的輸入都可以選擇為一個。

例如,這是完全有效的:

int factorial (int n) {
  if (n <= 5) {
   //Not just a return statement
    int x = 1;
    while (n > 0) {
      x *= n;
      -- n;
    }
    return x;
  } else {
    return n * factorial(n-1);
  }
}

轉載註明原文: 遞歸方法中的基本情況

猜你喜歡