【发布时间】:2012-09-07 17:55:32
【问题描述】:
我知道 deque 在插入位于前端或末尾时比 vector 更有效,如果我们必须进行指针运算,则 vector 更好。但是当我们必须在中间执行插入时使用哪一个。?为什么。?
【问题讨论】:
-
双端队列的效率可能不会更高,尤其是在元素数量很少的情况下。
-
对于相对较小的廉价复制对象集合,
vector胜过其他容器,无论操作如何。 (我测量了vector<char>与deque<char>的最大 12 个字符的 FIFO,虽然deque针对这种利用率进行了优化,vector在我测试的机器上明显更快。) -
只是一个细微差别:我觉得奇怪的是,双端队列允许在中间进行排队操作......队列的最严格实现只允许插入到后面并在后面移除前面。