Delphi-Quellcode:
procedure TForm1.herbst;
function rek (VAR p:PKnot):PKnot;
BEGIN
result:=p;
IF (p^.left=NIL) and (p^.right=NIL) THEN
begin
result:=nil;
dispose(p);
end
ELSE
begin
if p.left<>nil then p.left:=rek(p.left);
if p.right<>nil then p.right:=rek(p.right);
end;
END
begin
root:=rek(root);
end;
So müsste es eigentlich funktionieren!
Das mit der Function statt procedure ist auf jeden Fall sehr wichtig, da ansonsten leere Vewrweise entstehen!