Стек



Стек - структура данных, предназначенная для добавления элемента в начало последовательности и извлечения его оттуда.


Листинг Delphi

const StackLength = 1000;
type StackData = integer;
     Stack = object
       public
         S : array[1..StackSize] of StackData;
         top : integer;
       public
         constructor Create;
         function Empty : boolean;
         procedure Push(x : StackData);
         function Pop : StackData;
     end;

implementation

constructor Stack.Create;      // Создание стека
begin
    top := 0;
end;

function Stack.Empty : boolean;   // Пуст ли стек?
begin
    Result := (top = 0);
end;

procedure Stack.Push(x : StackData);   // Добаление элемента
begin
    inc(top);
    S[top] := x;
end;

function Stack.Pop : StackData;   // Извлечение и просмотр первого элемента
begin
    if Empty
      then (* UNDERFLOW *)
           Result := 0
      else begin
             dec(top);
             Result := S[top+1];
           end;
end;

08.12.2007, 15:49

По всем вопросам обращаться: rumterg@gmail.com