stl中是否有连接两个std::queue
对象的函数?
答案 0 :(得分:5)
std::queue
适配器不支持迭代,因此您实际上必须使用自己的方法来执行此操作。但鉴于您需要此功能,您应该考虑使用不同的容器。如果您需要随机访问,可能std::deque
。如果您只需要像队列一样进行前/后访问,请考虑std::list
,splice
可以在一定时间内{{1}} d。
答案 1 :(得分:0)
stl似乎没有提供任何选项,但我可以想到你自己可以写的其他一些东西:
编写自己的代码,将一个队列读入另一个队列,但这是O(n)。
使用std::copy
操纵基础std::deque
容器,再次O(n)。
创建您自己的容器,该容器以std::queue
的形式实现,但可以维护多个队列以模拟O(1)中的连接。