是否有可以从两端添加和删除的容器

时间:2017-12-13 16:27:34

标签: c++11 boost stl containers

C ++中是否有一个容器可用于在两端添加元素,而不仅仅是后面或前面,但是想要在任何一端添加。同样从任何一端删除元素,而不是从一个元素。也许在STL或Boost?

1 个答案:

答案 0 :(得分:0)

您可以通过x将元素vector移植到序列容器(deque / list / v.insert(v.begin(), x))的前面。但是,对于vector,这是一个O(n)操作(这就是为什么vector没有方便的push_front操作)并且它重新定位所有现有元素。如果您不希望重新定位现有元素,dequelist可能更合适。