用簡單的英語遞迴

遞迴可以定義為:

呼叫自身直到滿足特定條件的方法。

一個優秀而簡單的遞迴示例是一種獲取給定數字的階乘的方法:

public int Factorial(int number)
{
    return number == 0 ? 1 : n * Factorial(number - 1);
}

在這個方法中,我們可以看到該方法將採用引數 number

一步步:

舉個例子,執行 Factorial(4)

  1. number (4) == 1
  2. 沒有?返回 4 * Factorial(number-1)(3)
  3. 因為該方法再次被呼叫,所以它現在使用 Factorial(3) 作為新引數重複第一步。
  4. 這一直持續到執行 Factorial(1) 並且 number (1) == 1 返回 1。
  5. 總的來說,計算建立4 * 3 * 2 * 1,最後返回 24。

理解遞迴的關鍵是該方法呼叫自身的新例項。返回後,繼續執行呼叫例項。