Der Vorgang des Einfügens ist im Kapitel 'Definition und Aufbau' am Beispiel sehr schön erklärt. Hier daher nur eine kurze Erläuterung des zugehörigen Quellcodes (Bezug wieder das Delphi-Projekt: 5_Suchbaum_Node_Lsg )
Bei leerem Baum wird einfach die Methode 'writeValue' der normalen Baumknoten benutzt. (s.u.) Ist das neu einzufügende Element größer als Wurzelknoten, wird im rechten Teilbaum eingefügt, SONST wird im linken Teilbaum eingefügt. |
Programmcode: procedure TSearchTreeNode.insert(Elem: TSortElement); begin if isempty then Writevalue(Elem) else if Elem.GreaterThan(TSortElement(ReadValue)) then TSearchTreeNode(ReadRightNode).insert(Elem) else TSearchTreeNode(ReadLeftNode).insert(Elem) end; |
TTreeNode.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.
![]() |
|
![]() |
|
![]() |
Zur
nächsten Seite
![]() |
© 2000 LK 12 If und G. Kubitz | Hannah-Arendt-Gymnasium, Lengerich |