Указатели являются эффективным средством построения списков. Списком называется упорядоченная структура, каждый элемент которой содержит ссылку, связывающую его со следующим элементом. Для организации списков используются записи, состоящие из двух смысловых частей: основной и дополнительной. Основная часть содержит подлежащую обработке информацию, в дополнительной части находится указатель на следующую запись списка. Начало списка указывается в переменной, которая всегда присутствует в программе обработки списков. Если в списке нет элементов, т.е. список пустой, значение этой переменной равно Nil. Если список не заполнен, последний элемент содержит в дополнительной части значение Nil.
Наибольшее распространение получили два вида списков – стеки и очереди.
Стек – это список с одной точкой доступа к его элементам, которая называется вершиной стека. Добавить или убавить элемент можно только через его вершину. Принцип работы стека: «последний пришел – первый вышел». Основные операции над стеком: формирование стека, добавление, удаление и просмотр элементов стека. Для их демонстрации используем следующее описание:
type
pSt=^zap;
zap=record
inf:integer;
adr:pSt;
end;
var
pVer, pTek, nVer:pSt;
elSt:integer;