Подскажите как правильно реализовать на С++ контейнер, который одновременно может работать как вектор (список), LIFO-стек и FIFO-очередь, максимально используя фичи STL "из коробки" ?
Применение: хочу универсальный тип-контейнер, который может не только хранить вложенные структуры (пока справляется class Obj { string val; vector
vector: произвольное чтение/вставка/замена по индексу
stack: push/pop
queue: put/get
Ответ
deque - он же double-ended queue
Поддерживает все, что вы перечислили. Названия функций-членов немного не такие, но это, думаю, не принципиально :) push_back, push_front - вставка с любого конца, pop_back, pop_front - снятие.
Словом, смотрите более детальное описание
Комментариев нет:
Отправить комментарий