In deze tutorial zullen we leren over recursieve functies in C ++ en het werken met behulp van voorbeelden.
Een functie die zichzelf aanroept, staat bekend als een recursieve functie. En deze techniek staat bekend als recursie.
Werken met recursie in C ++
void recurse() (… recurse();… ) int main() (… recurse();… )
De onderstaande figuur laat zien hoe recursie werkt door zichzelf keer op keer te bellen.

De recursie gaat door totdat aan een bepaalde voorwaarde is voldaan.
Om oneindige recursie te voorkomen, kan de if… else-instructie (of vergelijkbare benadering) worden gebruikt wanneer de ene branch de recursieve aanroep doet en de andere niet.
Voorbeeld 1: faculteit van een getal met behulp van recursie
// 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; ) )
Uitvoer
Voer een niet-negatief getal in: 4 faculteiten van 4 = 24
Werking van Factorial Program

Zoals we kunnen zien, factorial()
roept de functie zichzelf aan. Bij elke oproep hebben we de waarde van n echter verlaagd met 1
. Als n kleiner is dan 1
, factorial()
retourneert de functie uiteindelijk de uitvoer.
Voordelen en nadelen van recursie
Hieronder staan de voor- en nadelen van het gebruik van recursie in C ++.
Voordelen van C ++ Recursion
- Het maakt onze code korter en schoner.
- Recursie is vereist bij problemen met datastructuren en geavanceerde algoritmen, zoals Graph en Tree Traversal.
Nadelen van C ++ recursie
- Het kost veel stackruimte in vergelijking met een iteratief programma.
- Het gebruikt meer processortijd.
- Het kan moeilijker zijn om fouten op te sporen in vergelijking met een gelijkwaardig iteratief programma.