Реализация
Для того чтобы упростить работу, добавим в структуру элемента дерева (см. рис. 1.12) дополнительное поле next:ukaz, которое будет служить для связки стека:
stek:= nil; while not eof(f) do begin new(p); read(f,p^.symbol); if p^.symbol in ['+','-','*','/'] then begin p^.right:= stek; p^.left:= stek^.next; p^.next:= stek^.next^.next; stek:= p end else begin p^.left:= nil; p^.right:= nil; p^.next:= stek; stek:= p end; end;