Ich versuche vergeblich einen neuen Knoten an einen existierenen Baum hinzuzufügen:
Delphi-Quellcode:
var Top: Knoten;
function Hinzufuegen(Knoten: TKnoten, var Added: Boolean): TKnoten;
begin
if not Added then
if Assigned(Knoten) then
begin //hier wird bis zum letzen existierenden Knoten gesprungen
if not Assigned(Knoten.Knoten[1]) then
Hinzufuegen(Knoten.Knoten[1], Added)
else
Hinzufuegen(Knoten.Knoten[2], Added);
end
else //sonst wird auf einem freien Zweig ein neuer Knoten erzeugt
begin
Knoten := TKnoten.Create;
Result := Knoten;
Added := True;
end;
end;
Ich rufe diese Funktion mit der globalen Variable Top auf.
Stimmt etwas mit den Var-Parameter nicht?
Kann man die Methode mit Added verbessern?