In this article, we will learn about function recursion,before moving forward let’s know
What is recursion?
Recursion is the process of defining a problem (or the solution to a problem) in terms of (a simpler version of) itself.
What is function recursion?
The function which calls the same function, is known as recursive function.
A function that calls itself, and doesn’t perform any task after function call, is known as tail recursion. In tail recursion, we generally call the same function with return statement.
Syntax of function recursion:
recursionfunction(){ recursionfunction(); //calling self function }
C++ Recursion Example
Let’s see an example to print factorial number using recursion in C++ language.
#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)); } }
Output:
Enter any number: 5 Factorial of a number is: 120
Advantages and Disadvantages of Recursion
Below are the pros and cons of using recursion in C++.
Advantages of C++ Recursion
- It makes our code shorter and cleaner.
- Recursion is required in problems concerning data structures and advanced algorithms, such as Graph and Tree Traversal.
Disadvantages of C++ Recursion
- It takes a lot of stack space compared to an iterative program.
- It uses more processor time.
- It can be more difficult to debug compared to an equivalent iterative program.
Previously: Inline Function and default argument in c++
Next: C++ array