C ++ rekursion (med exempel)

I den här handledningen lär vi oss om rekursiv funktion i C ++ och dess arbete med hjälp av exempel.

En funktion som kallar sig själv är känd som en rekursiv funktion. Och den här tekniken är känd som rekursion.

Working of Recursion i C ++

 void recurse() (… recurse();… ) int main() (… recurse();… )

Figuren nedan visar hur rekursion fungerar genom att kalla sig om och om igen.

Hur rekursion fungerar i C ++ programmering

Rekursionen fortsätter tills något villkor är uppfyllt.

För att förhindra oändlig rekursion, om … annars uttalande (eller liknande tillvägagångssätt) kan användas där en gren gör det rekursiva samtalet och den andra inte.

Exempel 1: Faktor av ett nummer med hjälp av rekursion

 // Factorial of n = 1*2*3*… *n #include using namespace std; int factorial(int); int main() ( int n, result; cout <> n; result = factorial(n); cout << "Factorial of " << n << " = " < 1) ( return n * factorial(n - 1); ) else ( return 1; ) )

Produktion

 Ange ett icke-negativt tal: 4 Faktor 4 = 24

Arbeta med faktorprogrammet

Hur detta C ++ rekursionsprogram fungerar

Som vi kan se factorial()kallar funktionen sig själv. Under varje samtal har vi dock minskat värdet på n med 1. När n är mindre än 1, den factorial()funktion slutligen återgår utgången.

Fördelar och nackdelar med rekursion

Nedan visas för- och nackdelar med att använda rekursion i C ++.

Fördelar med C ++ rekursion

  • Det gör vår kod kortare och renare.
  • Rekursion krävs i problem som rör datastrukturer och avancerade algoritmer, såsom Graph and Tree Traversal.

Nackdelar med C ++ rekursion

  • Det tar mycket stapelutrymme jämfört med ett iterativt program.
  • Det använder mer processortid.
  • Det kan vara svårare att felsöka jämfört med ett motsvarande iterativt program.

Intressanta artiklar...