Двусторонние Очереди C++

Материал из cppreference.com
Перейти к: навигация, поиск


Двусторонние очереди (или deques) аналогичны векторам, с той разницей, что они позволяют быстро вставлять и удалять элементы и с начала, и с конца контейнера.

Двусторонние очереди C++ обычно реализовываются как динамические массивы, растущие в оба конца. Такая реализация гарантирует доступ за константное время, вставку и удаление с обоих концов очереди - за амортизированное константное время, вставку и удаление из середины очереди - за линейное время.

Конструкторы создают двустороннюю очередь и инициализируют ее какими-то данными
Операторы осуществляют сравнение, присваивание и доступ к элементам двусторонней очереди
assign присваивает элементы двусторонней очереди
at возвращает элемент в заданной позиции
back возвращает ссылку на последний элемент двусторонней очереди
begin возвращает итератор на начало двусторонней очереди
clear удаляет все элементы из двусторонней очереди
empty истина, если двусторонняя очередь пуста
end возвращает итератор на место после последнего элемента двусторонней очереди
erase удаляет заданные элементы из двусторонней очереди
front возвращает ссылку на первый элемент двусторонней очереди
insert вставляет элементы в двусторонней очереди
max_size возвращает максимальное число элементов, которое может содержать двусторонняя очередь
pop_back удаляет последний элемент двусторонней очереди
pop_front удаляет первый элемент двусторонней очереди
push_back добавляет элемент в конец двусторонней очереди
push_front добавляет элемент в начало двусторонней очереди
rbegin возвращает reverse_iterator на конец двусторонней очереди
rend возвращает reverse_iterator на начало двусторонней очереди
resize изменяет размер двусторонней очереди
size возвращает количество элементов в двусторонней очереди
swap меняется содержимым данной двусторонней очереди с другой


[править] Замечания

К сожалению, в русском языке нет такого же емкого и краткого названия для двусторонней очереди, как в английском. Возможно, стоит подумать над дсочередью, дочередью или даже дочерью. В оригинале же название deque произносится как "deck", это сокращение от "double-ended queue." Кнут сообщает, что такое же имя было придумано Е. Д. Швеппе. См. параграф 2.2.1 из книги Кнута для дальнейшей информации о двусторонних очередях. (D. E. Knuth, The Art of Computer Programming. Volume 1: Fundamental Algorithms, second edition. Addison-Wesley, 1973.)

Личные инструменты
Пространства имён
Варианты
Действия
Навигация
Инструменты
На других языках