Eine Funktion, die sich selbst aufruft, wird als rekursive Funktion bezeichnet. Und diese Technik wird als Rekursion bezeichnet.
Wie funktioniert die Rekursion?
void recurse(){ ... .. ... recurse(); ... .. ...}int main(){ ... .. ... recurse(); ... .. ...}
Die Rekursion wird fortgesetzt, bis eine Bedingung erfüllt ist, um dies zu verhindern.
Um unendliche Rekursion zu verhindern, wenn…else Anweisung (oder ein ähnlicher Ansatz) kann verwendet werden, wenn ein Zweig den rekursiven Aufruf durchführt und der andere nicht.,
Beispiel: Summe natürlicher Zahlen unter Verwendung der Rekursion
Ausgabe
Enter a positive integer:3sum = 6
Zunächst wird die sum()
von der main()
– Funktion mit der als Argument übergebenen Nummer aufgerufen.
Angenommen, der Wert von n innerhalb von ist anfänglich 3. Beim nächsten Funktionsaufruf wird 2 an die Funktion übergeben. Dieser Vorgang wird fortgesetzt, bis n gleich 0 ist.,
Wenn n gleich 0 ist, schlägt die Bedingung if
fehl und der Teil else
wird ausgeführt, der die Summe der Ganzzahlen zurückgibt, die letztendlich an die Funktion main()
.
vor-und Nachteile der Rekursion
Rekursion macht Programm elegant. Wenn jedoch die Leistung von entscheidender Bedeutung ist, verwenden Sie stattdessen Schleifen, da die Rekursion normalerweise viel langsamer ist.
Rekursion ist jedoch ein wichtiges Konzept. Es wird häufig in Datenstrukturen und Algorithmen verwendet., Zum Beispiel ist es üblich, Rekursion in Problemen wie Baumdurchquerung zu verwenden.