【发布时间】:2021-11-07 21:26:46
【问题描述】:
我想使用vector 或queue 数据结构实现一个程序。该功能需要频繁地从数据结构中推送和弹出一些元素(例如8个元素)来处理这些元素,最终数据结构将为空。处理顺序无关紧要,所以vector 和queue 都可以。如果我需要频繁地从其中推送和弹出,我想知道哪个效率更高。谢谢。
【问题讨论】:
-
有什么理由不使用
stack? -
你在比较苹果和橘子。
std::queue是一个容器包装器。如果您希望包装容器成为vector,您可以拥有它,此时性能是相同的。最好将std::vector与std::deque进行比较,std::queue的默认容器。 -
"处理顺序无关紧要,所以
vector和queue都可以。" -- 如果你替换vector,这句话会更有意义通过stack。这显然意味着 push/pop 是 LIFO 还是 FIFO 并不重要。