Добавил:
Kaz
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:АСОИ, Delphi, много вариантов 2 сем / 2стеки / мин,макс / stacklib
.pas unit stacklib;
interface
type TStack=^Sel;
Sel=Record
val: integer;
prev: TStack;
End;
Tstack=class(Tobject);
stackEl, PprevEl: tstack;
Procedure AddToStack(var val : integer);
Procedure ReadStackItem(var extractionData : integer);
var Spt: tstack;
implementation
Procedure tstack.AddToStack;
Begin
New(stackEl);
stackEl^.val := val;
stackEl^.prev:=PprevEl;
End;
Procedure tstack.ReadStackItem;
Begin
if PStackTop <> nil then
Begin
SPt:=PStackTop;
extractionData:=PStackTop^.val;
PStackTop:=PStackTop^.prev;
End
else extractionData := 0;
End;
end.
interface
type TStack=^Sel;
Sel=Record
val: integer;
prev: TStack;
End;
Tstack=class(Tobject);
stackEl, PprevEl: tstack;
Procedure AddToStack(var val : integer);
Procedure ReadStackItem(var extractionData : integer);
var Spt: tstack;
implementation
Procedure tstack.AddToStack;
Begin
New(stackEl);
stackEl^.val := val;
stackEl^.prev:=PprevEl;
End;
Procedure tstack.ReadStackItem;
Begin
if PStackTop <> nil then
Begin
SPt:=PStackTop;
extractionData:=PStackTop^.val;
PStackTop:=PStackTop^.prev;
End
else extractionData := 0;
End;
end.