Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Из стека; n - параметр-переменная т.к. необходимо



изменить значение n в основной программе}

Begin

p: =st; {запишем в р адрес вершины стека}

n: =p^.m; {в n - информационная часть верхнего

элемента стека}

st: =p^.next; {присваиваем вершине стека адрес

следующего элемента}

Dispose (p);

End;

begin {основная программа }

st: nil; {вершина стека – «пустой» указатель,

стек пуст}

readln (k); {количество чисел}

for i:=1 to k

do begin {вводим числа и помещаем в стек}

Readln(n);

Put(n)

End;

while st<> nil

do begin {вывод элементов стека}

Get(n);

Writeln(n)

End;

End.

Очереди

Очередь линейный односвязный список, для которого разрешены только два действия: извлечение элемента из начала очереди «головы» и добавление элемента в конец («хвост») очереди.

Другими словами, в очереди элементы всегда добавляются в конец, а удаляются из начала.

Принцип работы очереди: «первым пришел – первым вышел».

П р и м е р. Создать очередь из произвольного числа компонентов. Извлечь и напечатать все элементы очереди.

Type pocher= ^element;

element=record

m: integer;

next: poch;

End;

Var

no,ko,p:poch; {no –начало очереди, ko – конец очереди}

n,k,i: integer;

Procedure putoch(n:integer); {помещает значение в очередь}

Begin

new(p); {выделение памяти под новый элемент}

p^.m:=n; {заносим в него информацию}

p^.next:=ko; {указательная часть ccылается

на начало очереди}

ko:= p

End;

Procedure getoch(var n:integer); {извлек. эл-т из очереди}

Begin

n: =p^.m; {в n - информационная часть 1-го элемента

очереди}

p: = no; {запишем в p адрес начала очереди}

no: =p^.next; { присваиваем началу очереди адрес

следующего элемента}





Дата публикования: 2014-10-25; Прочитано: 295 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...