Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> C Sprache

C++-Rekursion

C++-Rekursion

In diesem Tutorial lernen wir die rekursive Funktion in C++ und ihre Funktionsweise anhand von Beispielen kennen.

Eine Funktion, die sich selbst aufruft, wird als rekursive Funktion bezeichnet. Und diese Technik wird als Rekursion bezeichnet.


Funktion der Rekursion in C++

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

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

Die folgende Abbildung zeigt, wie die Rekursion funktioniert, indem sie sich immer wieder selbst aufruft.

Die Rekursion wird fortgesetzt, bis eine Bedingung erfüllt ist.

Um eine unendliche Rekursion zu verhindern, kann eine if...else-Anweisung (oder ein ähnlicher Ansatz) verwendet werden, bei der ein Zweig den rekursiven Aufruf durchführt und der andere nicht.


Beispiel 1:Fakultät einer Zahl mit Rekursion

// 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;
    }
}

Ausgabe

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

Funktion des Fakultätsprogramms

Wie wir sehen können, ist der factorial() Funktion ruft sich selbst auf. Allerdings haben wir bei jedem Aufruf den Wert von n verringert von 1 . Wenn n ist kleiner als 1 , die factorial() Die Funktion gibt schließlich die Ausgabe zurück.


Vor- und Nachteile der Rekursion

Unten sind die Vor- und Nachteile der Verwendung von Rekursion in C++ aufgeführt.


Vorteile der C++-Rekursion

  • Das macht unseren Code kürzer und sauberer.
  • Rekursion ist bei Problemen erforderlich, die Datenstrukturen und fortgeschrittene Algorithmen wie Graph und Tree Traversal betreffen.

Nachteile der C++-Rekursion

  • Es nimmt im Vergleich zu einem iterativen Programm viel Stack-Speicherplatz in Anspruch.
  • Es verbraucht mehr Prozessorzeit.
  • Es kann schwieriger zu debuggen sein als bei einem gleichwertigen iterativen Programm.

C Sprache

  1. C++-Operatoren
  2. C++-Kommentare
  3. C - Rekursion
  4. C++-Übersicht
  5. C++ Konstanten/Literale
  6. Operatoren in C++
  7. Zahlen in C++
  8. C++-Referenzen
  9. C++-Vorlagen
  10. C++ Präprozessor