În acest tutorial, vom afla despre funcția recursivă în C ++ și funcționarea acesteia cu ajutorul unor exemple.
O funcție care se numește singură este cunoscută ca funcție recursivă. Și această tehnică este cunoscută sub numele de recursivitate.
Funcționarea recursivității în C ++
void recurse() (… recurse();… ) int main() (… recurse();… )
Figura de mai jos arată cum funcționează recursivitatea apelându-se mereu.

Recursivitatea continuă până când este îndeplinită o condiție.
Pentru a preveni recursivitatea infinită, dacă se poate folosi instrucțiunea … else (sau o abordare similară) acolo unde o ramură face apelul recursiv și cealaltă nu.
Exemplul 1: Factorialul unui număr folosind recursivitate
// 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; ) )
Ieșire
Introduceți un număr non-negativ: 4 Factorial din 4 = 24
Lucrul programului factorial

După cum putem vedea, factorial()
funcția se numește singură. Cu toate acestea, în timpul fiecărui apel, am redus valoarea lui n cu 1
. Când n este mai mic decât 1
, factorial()
funcția returnează în cele din urmă ieșirea.
Avantajele și dezavantajele recursivității
Mai jos sunt avantajele și dezavantajele utilizării recursivității în C ++.
Avantajele recursivității C ++
- Face codul nostru mai scurt și mai curat.
- Este necesară recursivitatea în problemele referitoare la structurile de date și algoritmi avansați, cum ar fi Graph și Tree Traversal.
Dezavantaje ale recursivității C ++
- Este nevoie de mult spațiu în stivă în comparație cu un program iterativ.
- Folosește mai mult timp de procesor.
- Poate fi mai dificil de depanat în comparație cu un program iterativ echivalent.