Сегодня я разговаривал с другом, и он вспомнил, как странно, что элементы deque могут быть доступны оператору индекса, когда другие «похожие» DS, такие как очередь и стек, не могут. В конце концов, разве не означает, что deque означает двустороннюю очередь? Разве тот факт, что доступ к deque можно получить случайным образом, не разрушает саму целостность структуры данных deque?
Кроме того, с точки зрения производительности, разве deque просто вносит меньше в таблицу полностью с помощью оператора индекса, если вы на самом деле не используете методы deque (семейство передних и задних функций)? Я понимаю, что реализация, лежащая в основе deque, разбивает его на куски / блоки, и что обычно требуется две операции для фактического произвольного доступа к элементу, тогда как векторы гарантированно находятся в смежной памяти.
Спасибо!