PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : rekursive funktionen


greenvirus
2003-03-10, 17:46:49
als absoluter anfänger, wäre ich sehr dankbar, falls mir jemand ein paar beispiele für rekurcive funktionen im C++ geben könnte.

weiss jemand von euch einen guten link für solche sachen. vielleicht auch mit weiterem einsteiger stoff.

merci

edit: nach meiner frage, wisst ihr nun etwa, wie gut ich mich mit C++ auskenne :)

zeckensack
2003-03-10, 18:03:13
Rekursive Funktionen werden von Profs gerne überschätzt :bäh:
Aufgrund ihres enormen Verbrauchs an Stack-Speicher für temporäre Parameter sind sie wirklich nur in Einzelfällen sinnvoll.

Trotzdem mal ein Beispiel, rechnet eine Integerpotenz aus.
int
raise_to_power(int base,int exponent)
{
if (exponent==0) return(1);
else return(base*raise_to_power(base,exponent-1);
}

Die Funktion ruft sich immer weiter selbst auf, wobei der Exponent verringert wird. Das läuft dann in etwa so ab:

4³=
4*4²=
4*4*4^1=
4*4*4*4^0=
4*4*4*1=
64

aths
2003-03-10, 18:53:09
Originally posted by zeckensack
Rekursive Funktionen werden von Profs gerne überschätzt :bäh:Das ist Musik in meinen Ohren! Mit Rekursionen lassen sich einige Sache elegant lösen, sind aber kein Allheilmittel.

Demirug
2003-03-10, 19:47:57
Originally posted by aths
Das ist Musik in meinen Ohren! Mit Rekursionen lassen sich einige Sache elegant lösen, sind aber kein Allheilmittel.

Ja, aber wenn es eine sowohl eine Rekursive und eine nicht rekursive Lösung gibt und die nicht rekursive nicht wirklich wahnsinng umständlich ist benutze ich die nicht rekursive Funktion. Das ist Normalerweise auch schneller.

stabilo_boss13
2003-03-10, 19:56:21
Ein Beispiel aus der Praxis:

Ich verwende rekursive Funktionen zum Auflösen von Stücklisten.

Ein Kraftfahrzeug besteht aus Rädern, Türen...
Türen bestehen aus Blechstanzteil, Innenfutter, Fensterheber...
Fensterheber bestehen aus Elektromotor, Antrieb, Gestänge...
Elektromotor besteht aus ...
usw.

So kann ich ein komplettes Fahrzeug mit einer einzigen Funktion in alle seine Bestandteile zerlegen.

stabilo_boss13
2003-03-10, 19:58:39
Kennt eigentlich jemand ein sinnvolle nicht rekursive Funktion zum Suchen von Dateien in Verzeichnissen und Unterverzeichnissen?