:= TempElem^.Data;
:= TempElem^.Data;
Dispose (TempElem);
Pop := true;
end;
{-------------------------------------------------}
{ LIFO Выборка верхнего элемента без удаления }
{-------------------------------------------------}
function StackTop (var TheData : <item>) : boolean;
{true - верхний элемент прочтен; false - стек пуст}
begin
if Head = nil then begin
StackTop := false;
exit;
end;
TheData := Head^.Data;
StackTop := true;
end;
{-------------------------------------------------}
Если в приведенном выше описании в качестве типа item указать char, то процедура размещения в новом пустом стеке символьной строки (входного выражения) выглядит так:
{-------------------------------------------------}
{ LIFO Формирование стека из входной строки }
{-------------------------------------------------}
procedure MakeStack (var Head : PElem);
var
TempElem : PElem;
InputData : string;
i : 0..255;
begin {исходный стек пуст}
Head := nil;
<ввод строки InputData>
Индекс
Элементарные функции
Линейные уравнения
Нелинейные уравнения
Случайные числа