C ++ recursie (met voorbeeld)

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.

Hoe recursie werkt in C ++ -programmering

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

Hoe dit C ++ recursieprogramma werkt

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.

Interessante artikelen...