Einzelnen Beitrag anzeigen

Fehlersucher

Registriert seit: 10. Nov 2012
32 Beiträge
 
#1

Binärbaum preorder Algorithmus

  Alt 10. Nov 2012, 18:08
Hallo,

ich soll einen (rekursiven) Algorithmus schreiben um einen Binärbaum der Klasse TBinaryTree nach dem preorder Algorithmus zu durchlaufen. Der Baum soll dann in einem String wiederzufinden sein, welcher später in einem Edit angezeigt wird.

Dazu darf ich nur die Befehle nutzen, welche auf Seite 12 zu finden sind:
http://www.standardsicherung.nrw.de/....php?file=3181

Nun habe ich schon das hier geschafft:

Anmerkung:
In den Wurzelknoten/Blättern etc. wurden Objekte gespeichert, welche später in Strings umgewandelt werden müssen, was nach dem Schema unten auch richtig funktioniert und für den Algorithmus nebensächlich ist.

Durch die Kettenklasse wird aus dem Objekt der String.

Code:

  function TBaumklasse.preorderfunc(baum:TBinaryTree):string;
  var
      x, Text : string;
  begin
  if baum.isEmpty = false then
   begin
    x := Kettenklasse(baum.getobject).gibString; // Bis hier wurde das Objekt in einen String umgewandelt
    Text := Text + x;
    preorderfunc(baum.getLeftTree);
    preorderfunc(baum.getRightTree);
     result := Text;
   end;
   
   end;
Unglücklicherweise funktioniert die Funktion gar nicht richtig.
Ich bekomme als result immer nur den String eines Objekts bzw. Wurzelknotens raus.

Was ist bei mir falsch?

Gruß
  Mit Zitat antworten Zitat