deque

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().
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License