C ++ rekursjon (med eksempel)

I denne opplæringen vil vi lære om rekursiv funksjon i C ++ og dens arbeid ved hjelp av eksempler.

En funksjon som kaller seg selv er kjent som en rekursiv funksjon. Og denne teknikken er kjent som rekursjon.

Working of Recursion i C ++

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

Figuren nedenfor viser hvordan rekursjon fungerer ved å kalle seg igjen og igjen.

Hvordan rekursjon fungerer i C ++ programmering

Rekursjonen fortsetter til noen vilkår er oppfylt.

For å forhindre uendelig rekursjon, hvis … annet uttalelse (eller lignende tilnærming) kan brukes der en gren foretar rekursivt anrop og den andre ikke gjør det.

Eksempel 1: Faktor av et tall ved bruk av rekursjon

 // 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; ) )

Produksjon

 Skriv inn et ikke-negativt tall: 4 Faktor av 4 = 24

Arbeid med faktorprogram

Hvordan dette C ++ rekursjonsprogrammet fungerer

Som vi kan se, factorial()kaller funksjonen seg selv. Under hver samtale har vi imidlertid redusert verdien av n med 1. Når n er mindre enn 1, factorial()returnerer funksjonen til slutt utdataene.

Fordeler og ulemper ved rekursjon

Nedenfor er fordeler og ulemper ved å bruke rekursjon i C ++.

Fordeler med C ++ rekursjon

  • Det gjør koden vår kortere og renere.
  • Rekursjon er nødvendig i problemer med datastrukturer og avanserte algoritmer, for eksempel Graph and Tree Traversal.

Ulemper ved C ++ rekursjon

  • Det tar mye stabelplass i forhold til et iterativt program.
  • Det bruker mer prosessortid.
  • Det kan være vanskeligere å feilsøke sammenlignet med et tilsvarende iterativt program.

Interessante artikler...