Структуры и алгоритмы обработки данных


Стек


Стек представляет собой структуру данных, из которой первым извлекается тот элемент, который был добавлен в нее последним. Стек как динамическую структуру данных легко организовать на основе линейного списка. Для такого списка достаточно хранить указатель вершины стека, который указывает на первый элемент списка. Если стек пуст, то списка не существует и указатель принимает значение nil.

pic1_6.jpg (26787 bytes)

Рис.1.6. Организация стека на основе линейного списка.

Приведем пример программы, реализующей стек как динамическую структуру.

Program stack;

type

element=record

                 data:string;

                 next:pointer;

       end;

var 

       n: integer;

       current:^element;

       pnt:^element;

procedure put_element(s:string); {занесение элемента в стек}

begin

       new(pnt);

       x^.data:=s;

       x^.next:=current;

       current:=pnt;

end;

procedure get_element(var s:string); {получение элемента из стека}

begin

       if current=nil then s:=-пусто- else

       begin

               pnt:=current;

               s:=pnt^.data;

               current:=pnt^.next;

               dispose(pnt);

        end;

end;

{------------program--------------}

begin

current:=nil;

repeat

          writeln(-1 v добавить в стек-);




Начало  Назад  Вперед



Книжный магазин