Приложение к главе 1.1

Некоторые функции для работы с типом данных дек

В отличие от вектора элементы дека не хранятся непрерывно: обычно это реализовано с помощью набора выделенных массивов фиксированного размера.

Хранилище дека обрабатывается автоматически, расширяясь и сужаясь по мере необходимости. Расширение дека дешевле, чем расширение вектора, потому что оно не требует копирования существующих элементов в новый участок памяти.

К элементам дека можно обращаться по индексу.

Сложность (производительность) стандартных операций над двусторонней очередью следующая:

  • произвольный доступ — постоянная O(1);
  • вставка и удаление элементов с начала и с конца — амортизированная постоянная O(1);
  • вставка и удаление элементов — линейная O(n).

Функция

Действие

front

Доступ к первому элементу 

back

Доступ к последнему элементу 

empty

Проверяет отсутствие элементов

size

Возвращает количество элементов

push_front

Вставляет элемент в начало

pop_front

Удаляет первый элемент 

push_back

Вставляет элемент в конец

pop_back

Удаляет последний элемент 

clear

Очищает дек 

insert

Вставляет элементы по итератору

erase

Удаляет элементы по итератору