遞歸函數

1.遞歸函數概述及用法

  • 一個函數在它的函數體內調用它自身稱為遞歸調用。這種函數稱為遞歸函數。C語言允許函數 的遞歸調用。在遞歸調用中,主調函數又是被調函數。執(zhí)行遞歸函數將反復調用其自身,每調用 一次就進入新的一層。
void function(int x)
{
  function(x);
}
  • 這個函數是一個遞歸函數。但是運行該函數將無休止地調用其自身,這當然是不正確的。為了防 止遞歸調用無終止地進行,必須在函數內有終止遞歸調用的手段。常用的辦法是加條件判斷,滿 足某種條件后就不再作遞歸調用,然后逐層返回。

2.遞歸函數構成條件

  • 自己調用自己
  • 存在一個條件能夠讓遞歸結束
  • 問題的規(guī)模能夠縮小
  • 能用循環(huán)實現的功能,用遞歸都可以實現
  • 遞歸就是自己搞自己,性能差
  • 注意:遞歸一定要有一個明確的結束條件,否則會造成死循環(huán)

3.實例

??:

//有5個人坐在一起,問第5個人多少歲?他說比第4個人大兩歲。問 第4個人歲數,他說比第3個人大兩歲。問第3個人,又說比第2個 人大兩歲。問第2個人,說比第1個人大兩歲。最后問第1個人, 他說是10歲。請問第5個人多大?

//傳入的n表示第幾個人
int getAge(int n)
{
    int age ;
    if(n==1){
        age = 10;
    }else{
        age = getAge(n-1)+2;
    }
    return age;
}
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容