|
PROCEDURE Find(tree: Tree; key: Objects.Object; VAR parent, node: Node) : BOOLEAN; BEGIN node := tree.root; parent := NIL; WHILE node # NIL DO IF tree.compare(key, node.object) = 0 THEN RETURN TRUE END; parent := node; IF tree.compare(key, node.object) < 0 THEN node := node.left; ELSE node := node.right; END; END; RETURN FALSE END Find; |
Ein Abstieg entsprechend einem Schlüssel ist an
mehreren Stellen notwendig (Insert, Delete und
Lookup), so daß es sich lohnt, dies innerhalb von
SortedBinaryTrees nur einmal zu formulieren.
| |
Der jeweilige Elternteil wird mit zurückgegeben, um
ggf. das Einfügen zu erleichtern.
|
Copyright © 1999, 2004 Andreas F. Borchert, in HTML konvertiert am 28.01.2005 |