Адаптеры контейнеров, такие как stack
и queue
, реализованы с использованием определенного подмножества операций - любой контейнер, который будет использоваться с конкретным адаптером, должен поддерживать все операции, которые требует адаптер.
vector
нельзя использовать с контейнерным адаптером queue
, поскольку:
Любая последовательность, поддерживающая операции front (), back (), push_back () и pop_front (), может использоваться для создания очереди.
И vector
не поддерживает pop_front()
.
vector
, deque
или list
можно использовать с stack
, поскольку все три из этих контейнеров поддерживают операции, которые stack
требует:
Любая последовательность, поддерживающая операции back (), push_back () и pop_back (), может использоваться для создания стека.