Структура данных типа дек

d181d182d180d183d0bad182d183d180d0b0 d0b4d0b0d0bdd0bdd18bd185 d182d0b8d0bfd0b0 d0b4d0b5d0ba статьи

Структура данных типа дек (C, Очередь, Список, Стек)

Мы с Вами рассмотрели уже довольно много структур данных, но я и не думал на этом останавливаться, так что в данной статье предлагаю рассмотреть еще одну структуру, название которой дек.

Дек (от англ. deque — double ended queue; двусвязная очередь, очередь с двумя концами) — линейная структура (последовательность), в которой операции включения и исключения элементов могут выполняться как с одного, так и с другого конца последовательности.

Дек — симбиоз стека и очереди, то есть дисциплинами обслуживания являются одновременно LIFO и FIFO.

  1. Инициализация
  2. Включение элемента в начало / конец дека
  3. Исключение элемента из начала / конца дека
  4. Проверка: дек пуст / не пуст
  5. Удаление дека

Обычно для реализации дека используют двусвязный линейный список, то есть на основе готовых функций списка создают новые для дека. Иными словами, для реализации нам придется написать несколько оберток, как мы это делали при реализации стека на ОЛС.

Файл «Deck_List_Two.h»

Файл «Deck_List_Two.c»

Дек готов! Вот мы и пополнили запас знаний еще одной структурой данных. Также напоминаю, если у Вас возникли вопросы, пишите их в комментариях. А на этом все. Удачи!

Оцените статью
Секреты программирования
Добавить комментарий