Составители:
46
NewElem := ptrEndQueue^.Data;
Del_LineDoubleList(ptrBeginQueue, ptrBeginQueue);
end;
end;
procedure ClearQueue(var ptrBeginQueue,
ptrEndQueue: PElement);
{Очистка очереди}
begin
while ptrBeginQueue <> nil do
Del_LineDoubleList(ptrBeginQueue, ptrBeginQueue);
ptrEndQueue := nil;
end;
function EmptyQueue(var ptrBeginQueue: PElement): boolean;
{Проверка пустоты очереди}
begin
if ptrBeginQueue = nil then EmptyQueue := true
else EmptyQueue := false;
end;
1.2.11. Дек
Дек – это структура данных, представляющая собой последователь-
ность элементов, в которой можно добавлять и удалять в произвольном
порядке элементы с двух сторон. Первый и последний элементы дека
соответствуют входу и выходу дека.
Выделяют ограниченные деки:
– дек с ограниченным входом – из конца дека можно только извле-
кать элементы;
– дек с ограниченным выходом – в конец дека можно только добав-
лять элементы.
Данная структура является наиболее универсальной из рассмотрен-
ных выше линейных структур. Накладывая дополнительные ограниче-
ния на операции с началом и/или концом дека, можно осуществлять
моделирование стека и очереди.
Дек также можно реализовывать как статическую структуру данных
в виде одномерного массива, а можно как динамическую структуру – в
виде линейного списка (рис. 10).
Поскольку в деке, как и в очереди, осуществляется работа с обоими
концами структуры, то целесообразно использовать те же подходы к
организации дека, что применялись и для очереди (см. 1.2.10).
Страницы
- « первая
- ‹ предыдущая
- …
- 44
- 45
- 46
- 47
- 48
- …
- следующая ›
- последняя »