Aufgabe 7

Schreiben Sie eine Prozedur disposeTree, die als Parameter einen Zeigen auf einen Knoten eines Binärbaumes erhält und diesen wie auch alle Knoten des Teilbaumes, dessen Wurzel der gegebene Knoten ist, via DISPOSE freigibt.

Vereinbart sei:

TYPE	Tree = POINTER TO Node;
	Node = RECORD
		   number: CARDINAL;
		   left, right: Tree;
	       END;

Lösung


PROCEDURE disposeTree(VAR p:Tree);
BEGIN
    IF p = NIL THEN
	RETURN
    END;
    disposeTree(p^.left);
    disposeTree(p^.right);
    DISPOSE(p);
END disposeTree;