Rekursion!

lernen.2007

Erfahrenes Mitglied
Ich habe eine Frage und zwar:Ich habe eine Rekursion geschrieben-->

public void AnfangLinkeKnoten(Knoten Element,int Zahl)
{

if(Element == null)
{
return;
}

if(Zahl > Element.getZahl())
{

AnfangLinkeKnoten(Element.getleft(),Zahl);


}

else if(Zahl < Element.getZahl())
{
AnfangLinkeKnoten(Element.getright(),Zahl);

}


}

Meine Problem ist, dass das Programm hier geht und nicht den letzten Wert(Daten) von Element zurückliefert sondern wieder an Anfangsposition(mit dem Wert, mit der Variable Element angefangen hat) wandert.Wisst Ihr eigentlich wie ich das ändern kann, damit er nur den letzten Wert vor Rekursionsabbruck liefert.
Danke
 
Naja, deine Methode liefert ja gar nix zurück (void). So macht das Ganze keinen Sinn, du mußt in der Abbruchbedingung wohl einen Wert zurückliefern.
 
Zuletzt bearbeitet:
if(Element == null)

Wenn kein Unterknoten mehr vorhanden ist .. geht er zurück .. An dieser Stelle müsstest du dir den Wert merken (in ein Vector packen oder so ? ) und dann hast du die Werte aller Blätter des Baumes .. denke ich ..
 

Neue Beiträge

Zurück