PROCEDURE Preorder( Employee : apointer );
{ prints data from left side of tree to right }
BEGIN
IF Employee <> NIL THEN BEGIN
DISPLAY( Employee ); {visit the root}
Preorder( Employee^.Left ); {traverse the left subtree}
Preorder( Employee^.Right ) {traverse the right subtree}
END
END{of preorder};
PROCEDURE Inorder( Employee : apointer );
{ prints data outer to inner of tree }
BEGIN
IF Employee <> NIL THEN BEGIN
Inorder( Employee^.Left ); {traverse the left subtree}
DISPLAY( Employee ); {visit the root}
Inorder( Employee^.Right ) {traverse the right subtree}
END
END{of inorder};
PROCEDURE Postorder( Employee : apointer );
{ prints data from leaves first then branchs }
BEGIN
IF Employee <> NIL THEN BEGIN
Postorder( Employee^.Left ); {traverse the left subtree}
Postorder( Employee^.Right ); {traverse the right subtree}
DISPLAY( Employee ); {visit the root}
END
END{of postorder};
.