Курсовая работа: Ссылочные типы. Динамические переменные

ServiceVar:= FirstElem;

{убираем 1-ый элемент из очереди}

FirstElem:= FirstElem^.NextElem;

{быллиэтопоследнийэлемент}

if FirstElem= nil then

LastElem:= nil;

dispose( ServiceVar )

end

end;

3.6 Стек на базе списка

Из механизма LIFO следует, что в стеке доступен только последний занесенный его элемент √ так называемая вершина стека. Главный элемент, представляющий весь список как единый объект, в случае стека оказывается лишним, его роль выполняет вершина стека. Элемент, занесенный в стек раньше других имеет ссылку nil (см. рис. 6).

Структура данных, представляющая стек, могла бы выглядеть следующим образом:

type

TypeOfElem= {};

Assoc= ^ElementOfStack;

ElementOfStack= record

Elem: TypeOfElem;

NextElem: Pointer

end;

Stack= Assoc;

Рассмотрим реализацию основных операций над стеком.

3.7 Создание (очистка) стека

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

procedure CreateStack ( var StackHead: Stack);

begin

StackHead:= nil

end;

3.8 Проверка стека на пустоту

Условием пустоты стека является значение его вершины, равное nil.

К-во Просмотров: 549
Бесплатно скачать Курсовая работа: Ссылочные типы. Динамические переменные