Małgorzata Piekarska
deque to pojemnik sekwencyjny, który jest jakby formą pośrednią między vectorem a listą. Jest on tradycyjnie nazywany kolejką o dwóch końcach (doubleended queue, w skrócie deque), choć nie jest to szczególnie szczęśliwa nazwa - może się łatwo mylić z właściwą kolejką (queue). deque udostępnia zarówno operacje wstawiania elementu na swym początku i końcu, jak również dostęp do konkretnego obiektu poprzez jego indeks. Ceną za możliwość jej rozszerzania w obie strony jest wolniejszy dostęp do poszczególnych elementów. Jest to związane z budową pojemnika deque, który został zorganizowany jako coś w rodzaju listy wektorów.
Interfejs deque jest bardzo podobny do klasy vector, więc nie miałoby większego sensu powtarzanie tu wszystkich metod. Skoncentrujmy się raczej na różnicach, a są to:
- metoda push_front, umożliwiająca dodanie elementu z przodu pojemnika,
- metoda pop_front, usuwająca element z przodu talii bez zwracania go,
- brak metody reserve() i capacity().