Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

C++ recursie

C++-recursie

In deze tutorial zullen we leren over de recursieve functie in C++ en hoe deze werkt met behulp van voorbeelden.

Een functie die zichzelf aanroept, staat bekend als een recursieve functie. En deze techniek staat bekend als recursie.


Werking van recursie in C++

void recurse()
{
    ... .. ...
    recurse();
    ... .. ...
}

int main()
{
    ... .. ...
    recurse();
    ... .. ...
}

De onderstaande afbeelding laat zien hoe recursie werkt door zichzelf steeds opnieuw aan te roepen.

De recursie gaat door totdat aan een bepaalde voorwaarde is voldaan.

Om oneindige recursie te voorkomen, kan de instructie if...else (of vergelijkbare benadering) worden gebruikt waarbij de ene tak 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 <iostream>
using namespace std;

int factorial(int);

int main() {
    int n, result;

    cout << "Enter a non-negative number: ";
    cin >> n;

    result = factorial(n);
    cout << "Factorial of " << n << " = " << result;
    return 0;
}

int factorial(int n) {
    if (n > 1) {
        return n * factorial(n - 1);
    } else {
        return 1;
    }
}

Uitvoer

Enter a non-negative number: 4
Factorial of 4 = 24

Werking van het faculteitsprogramma

Zoals we kunnen zien, is de factorial() functie roept zichzelf aan. Tijdens elk gesprek hebben we echter de waarde van n . verlaagd door 1 . Wanneer n is kleiner dan 1 , de factorial() functie retourneert uiteindelijk de uitvoer.


Voor- en nadelen van recursie

Hieronder staan ​​de voor- en nadelen van het gebruik van recursie in C++.


Voordelen van C++-recursie

  • Het maakt onze code korter en overzichtelijker.
  • Recursie is vereist bij problemen met gegevensstructuren en geavanceerde algoritmen, zoals Graph en Tree Traversal.

Nadelen van C++-recursie

  • Het kost veel stackruimte in vergelijking met een iteratief programma.
  • Het kost meer processortijd.
  • Het kan moeilijker zijn om fouten op te sporen in vergelijking met een gelijkwaardig iteratief programma.

C Taal

  1. C++-operators
  2. C++ Opmerkingen
  3. C++-klassesjablonen
  4. C - Recursie
  5. C++-overzicht
  6. C++-constanten/letters
  7. Operatoren in C++
  8. Getallen in C++
  9. C++-referenties
  10. C++-sjablonen
  11. C++ Preprocessor