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.

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

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.