C ++ rekursioon (koos näitega)

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.

Kuidas rekursioon töötab C ++ programmeerimisel

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öö

Kuidas see C ++ rekursiooniprogramm töötab

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.

Huvitavad Artiklid...