Работа со стеками
Стек — список с одной точкой доступа к его элементам, которая называется вершиной стека. Добавить или убрать элемент можно только через его вершину. Принцип работы стека — LIFO (Last In First Out) — последним пришел, первым ушел.
Схема работы со стеком:
Type
Ukaz = ^ Stack;
Stack = Record
Inf: Integer; { информационная часть }
Next: Ukaz { дополнительная часть }
end;
Var
Versh, Rab: Ukaz;
Value: Integer;
Procedure Sozd _ Stack; { первоначальная организация стека }
Begin
Versh: = Nil;
While True do
Begin
Read (Value);
If Value = 999
then Exit;
New (Rab);
Rab ^. Next: = Versh;
Rab ^. Inf: = Value;
Versh: = Rab
End
End;
Procedure Dobavl _ Stack; { добавление элементов в стек }
Begin
While True do
Begin
Read (Value);
If Value = 999
then Exit;
New (Rab);
Rab ^. Next: = Versh;
Rab ^. Inf: = Value;
Versh: = Rab
End
End;
Procedure Udal _ Stack; { Удаление последнего элемента стека }
Begin
Rab: = Versh;
Versh: = Versh ^. Next;
Dispose (Rab)
End;
Procedure Print _ Stack; { Обработка (вывод) элементов стека }
Begin
Rab: = Versh;
While Rab <> Nil do
Begin
WriteLn (Rab ^. Inf);
Rab: = Rab ^. Next
End
End; 1 | 2 | 3 | 4 | Поиск по сайту:
|