Selles õpetuses õpime näidete abil C ++ rekursiivset funktsiooni ja selle töötamist.
Funktsioon, mis ennast kutsub, on tuntud kui rekursiivne funktsioon. Ja seda tehnikat tuntakse rekursioonina.
Rekursiooni töötamine C ++ keeles
void recurse() (… recurse();… ) int main() (… recurse();… )
Alloleval joonisel on näidatud, kuidas rekursioon töötab, kutsudes ennast ikka ja jälle.

Rekursioon jätkub, kuni mõni tingimus on täidetud.
Lõputu rekursiooni vältimiseks saab kasutada… lauset (või muud sarnast lähenemist), kus üks haru teeb rekursiivse kõne ja teine mitte.
Näide 1: Rekursiooni kasutava arvu faktor
// 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; ) )
Väljund
Sisestage mittenegatiivne arv: 4 faktoriaal 4 = 24
Faktoriaalprogrammi töö

Nagu näeme, kutsub factorial()
funktsioon ennast ise. Kuid iga kõne ajal oleme n väärtust vähendanud 1
. Kui n on väiksem 1
, factorial()
tagastab funktsioon lõpuks väljundi.
Rekursiooni eelised ja puudused
Allpool on rekursiooni kasutamise plussid ja miinused C ++ keeles.
C ++ rekursiooni eelised
- See muudab meie koodi lühemaks ja puhtamaks.
- Rekursioon on vajalik andmekonstruktsioonide ja täiustatud algoritmidega seotud probleemides, näiteks Graafiku ja Puu läbimine.
C ++ rekursiooni puudused
- See võtab korduva programmiga võrreldes palju virnaruumi.
- See kasutab rohkem protsessori aega.
- Silumist võib olla keerulisem võrrelda samaväärse iteratiivse programmiga.