使用push_back()/ pop_front()或push_front()/ pop_back()时,哪个更好用dequeue

时间:2013-11-26 14:26:05

标签: c++ stl

当使用std :: deque作为FIFO时,哪一对推/弹功能更好?

  • push_back(),pop_front()
  • push_front(),pop_back()

我怀疑在效率方面没有区别,但至少哪个是“惯用的”(即大多数程序员使用的那个)?

由于

3 个答案:

答案 0 :(得分:5)

deque不是用于实现FIFO的容器,因此不可能有一种惯用的方法来实现FIFO。如果需要FIFO,请使用std::queue。如果你坚持使用deque实现它,那么任何提议的解决方案都和其他解决方案一样好。

答案 1 :(得分:3)

大多数std :: queue实现似乎都使用:

  

push_back(),pop_front()

顺便说一句,如果可以的话,最好直接使用std :: queue

答案 2 :(得分:2)

写两个循环和时间

只有两个选择,您应该能够为您的架构和编译器版本获得最佳答案

最好不要假设效率。