Um (binäre) Bäume Implementieren zu können, müssen wir uns zuerst mit den einzelnen Knoten beschäftigen, aus denen ein Baum besteht. Zur Realisierung der Baumknoten haben wir die Klasse TTreeNode eingeführt. Hier das UML-Klassendiagramm:
Klasse zur Verwaltung von Objekten durch einen binären Baum.
Kennt über einen Zeiger (ValueP) ein (oder kein) Objekt der Klasse TObject
und (über LeftP und RightP) zwei, einen oder gar keinen Nachfolgeknoten
ValueP : TObject Zeiger auf das Datenobjekt
LeftP : TTreeNode Zeiger auf den linken Nachfolgeknoten
RightP : TTreeNode Zeiger auf den rechten Nachfolgeknoten
CreateNil ( ) Erzeugt einen leeren Baumknoten. Ein leerer Baumknoten ist also ein echter Knoten, bei dem Knotenzeiger und Nachfolgerzeiger alle auf nil zeigen. |
![]() |
Create ( Elem:TObject ) :
|
![]() |
destroy ( )
Löscht den Knoten und alle Folgeknoten.
NICHT GELÖSCHT werden die Objekte, auf welche die Knotenzeiger (ValueP) zeigen.
Sollen diese gelöscht werden, muss dies vom Rahmenprogramm geleistet werden.
makenil ( )
Läßt Knotenzeiger (ValueP) und Nachfolgezeiger alle auf nil zeigen.
VORSICHT: Die Methode löscht keine Nachfolgeknoten und auch nicht die Objekte, auf
welche die Knotenzeiger verweisen.
WriteLeftNode ( node:TTreeNode ) :
Hängt den Knoten 'node' links an den das TTreeNode-Objekt an.
WriteRightNode ( node:TTreeNode ) :
analog
WriteValue ( Elem:TObject ) :
Läßt den Knotenzeiger (ValueP) auf das Objekt 'Elem' verweisen.
War der Knoten vorher leer werden zusätzlich noch zwei leere Teilbäume
angehängt.
isEmpty ( )
Prüft, ob der Knotenzeiger (ValueP) auf nil zeigt.
IsLeaf ( )
Prüft, ob der Knoten ein Blatt ist.
ReadValue ( )
Liefert das Objekt, auf welches der Knotenzeiger (ValueP) verweist.
ReadLeftNode ( )
Liefert den linken Nachfolgeknoten.
ReadRightNode ( )
analog
//Ende der Dokumentation
Nach dieser Dokumentation sollte der Quelltext der entsprechenden Unit
nachvollziehbar sein.
![]() |
|
![]() |
|
![]() |
Zur
nächsten Seite
![]() |
© 2000 LK 12 If und G. Kubitz | Hannah-Arendt-Gymnasium, Lengerich |