C++函式遞回


當函式在同一個函式內呼叫時,它被稱為C++中的遞迴。 呼叫相同函式的函式(函式自已呼叫自已)稱為遞回函式。

在函式呼叫之後呼叫自身並且不執行任何任務的函式稱為尾遞回。 在尾遞回中,我們通常使用return語句呼叫相同的函式。

下面來看看一個簡單的遞迴範例。

recursionfunction(){    
    recursionfunction(); //calling self function    
}

C++遞回範例

下面來看看一個例子,使用C++語言中的遞回來列印一個數的階乘。

#include<iostream>  
using namespace std;    
int main()  
{  
    int factorial(int);  
    int fact,value;  
    cout<<"Enter any number: ";  
    cin>>value;  
    fact=factorial(value);  
    cout<<"Factorial of a number is: "<<fact<<endl;  
    return 0;  
}  

int factorial(int n)  
{  
    if(n<0)  
        return(-1); /*Wrong value*/    
    if(n==0)  
        return(1);  /*Terminating condition*/  
    else  
    {  
        return(n*factorial(n-1));      
    }  
}

上面程式碼執行結果如下所示 -

Enter any number: 5
Factorial of a number is: 120

可以通過下面的圖形來理解上面的遞迴呼叫方法: