7
STL中真正的双端队列是什么?
Наэтотвопросестьответына 堆栈溢出нарусском:Особенностьразмещениеэлементовв的std :: deque的 我正在查看STL容器并试图弄清它们的真正含义(即所使用的数据结构),但双端队列使我停了下来:我认为起初它是一个双链表,因此允许在两端插入和删除固定时间,但是操作员[] 承诺要在固定时间内完成,这让我感到困扰。在链表中,任意访问应为O(n),对吗? 如果它是一个动态数组,它如何在恒定时间内添加元素?应该提到的是,可能发生重新分配,并且O(1)是摊销成本,就像vector一样。 因此,我想知道这种结构允许在恒定时间内进行任意访问,而同时又无需将其移至更大的新位置。