用簡單的英語遞迴
遞迴可以定義為:
呼叫自身直到滿足特定條件的方法。
一個優秀而簡單的遞迴示例是一種獲取給定數字的階乘的方法:
public int Factorial(int number)
{
return number == 0 ? 1 : n * Factorial(number - 1);
}
在這個方法中,我們可以看到該方法將採用引數 number
。
一步步:
舉個例子,執行 Factorial(4)
- 是
number (4) == 1
? - 沒有?返回
4 * Factorial(number-1)
(3) - 因為該方法再次被呼叫,所以它現在使用
Factorial(3)
作為新引數重複第一步。 - 這一直持續到執行
Factorial(1)
並且number (1) == 1
返回 1。 - 總的來說,計算建立
4 * 3 * 2 * 1
,最後返回 24。
理解遞迴的關鍵是該方法呼叫自身的新例項。返回後,繼續執行呼叫例項。