C ++ rekursion (med eksempel)

I denne vejledning lærer vi om rekursiv funktion i C ++ og dens arbejde ved hjælp af eksempler.

En funktion, der kalder sig selv, er kendt som en rekursiv funktion. Og denne teknik er kendt som rekursion.

Working of Recursion i C ++

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

Figuren nedenfor viser, hvordan rekursion fungerer ved at kalde sig igen og igen.

Hvordan rekursion fungerer i C ++ programmering

Rekursionen fortsætter, indtil en eller anden betingelse er opfyldt.

For at forhindre uendelig rekursion, hvis … ellers kan udsagn (eller lignende tilgang) bruges, hvor den ene gren foretager det rekursive opkald, og den anden ikke gør det.

Eksempel 1: Faktor af et tal ved hjælp af 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

 Indtast et ikke-negativt tal: 4 Faktor af 4 = 24

Arbejde med faktorprogrammet

Sådan fungerer dette C ++ rekursionsprogram

Som vi kan se, factorial()kalder funktionen sig selv. Under hvert opkald har vi dog reduceret værdien af ​​n med 1. Når n er mindre end 1, factorial()returnerer funktionen i sidste ende output.

Fordele og ulemper ved rekursion

Nedenfor er fordele og ulemper ved at bruge rekursion i C ++.

Fordele ved C ++ rekursion

  • Det gør vores kode kortere og renere.
  • Rekursion er påkrævet i problemer med datastrukturer og avancerede algoritmer, såsom Graph og Tree Traversal.

Ulemper ved C ++ rekursion

  • Det tager meget stakplads i forhold til et iterativt program.
  • Det bruger mere processortid.
  • Det kan være sværere at debugge sammenlignet med et tilsvarende iterativt program.

Interessante artikler...