Приложение к главе 1.1
Некоторые функции для работы с типом данных дек
В отличие от вектора элементы дека не хранятся непрерывно: обычно это реализовано с помощью набора выделенных массивов фиксированного размера.
Хранилище дека обрабатывается автоматически, расширяясь и сужаясь по мере необходимости. Расширение дека дешевле, чем расширение вектора, потому что оно не требует копирования существующих элементов в новый участок памяти.
К элементам дека можно обращаться по индексу.
Сложность (производительность) стандартных операций над двусторонней очередью следующая:
- произвольный доступ — постоянная O(1);
- вставка и удаление элементов с начала и с конца — амортизированная постоянная O(1);
- вставка и удаление элементов — линейная O(n).
|
Функция |
Действие |
|
front |
Доступ к первому элементу |
|
back |
Доступ к последнему элементу |
|
empty |
Проверяет отсутствие элементов |
|
size |
Возвращает количество элементов |
|
push_front |
Вставляет элемент в начало |
|
pop_front |
Удаляет первый элемент |
|
push_back |
Вставляет элемент в конец |
|
pop_back |
Удаляет последний элемент |
|
clear |
Очищает дек |
|
insert |
Вставляет элементы по итератору |
|
erase |
Удаляет элементы по итератору |