Ein Baum wurde mit dem preorder-Algorithmus gespeichert. Nun soll der Baum geladen werden:
Ich habe den Code mal wörtlich dargestellt:
Code:
Form.load (v:Binärbaum)
var
x : Textdatei;
y : String;
begin
while not Dateiende(x) do
begin
LiesZeile(x, y);
if y enthält Zeichen(*) then // Zeichen * markiert Blätter
begin
lösche Zeichen(*);//Zeichen wird gelöscht, es diente nur zum markieren
load(v.gibRechtenBaum.erzuge(y));
load(v.giblinkenBaum.erzeuge(y));
end
else
v.erzeuge(y);
end;
end;
Zwar liefert dieser Algorithmus einen Baum, jedoch sind einige Sachen darin doppelt. Also entspricht der erzeugte Baum nicht dem gespeicherten Baum.
Sieht jemand wo mein Fehler ist?
Gruß