stl中有什么函数可以连接两个std::queue
对象吗?合并两个std ::队列
4
A
回答
5
std::queue
适配器不支持迭代,因此您实际上必须使用自己的方法来执行此操作。但考虑到你需要这个功能,你应该考虑一个不同的容器。如果你需要随机访问,大概std::deque
。如果您只需要像队列一样的正面/背面访问,可以考虑使用std::list
,这可以在不变的时间内连接到splice
。
+2
除非使用列表,否则只有在他经常拼接大型列表时才有好处,因为列表在执行*其他所有操作时会慢得多。 – GManNickG 2011-05-02 20:56:46
0
似乎没有要在STL提供的任何选项,但我能想到的一些其他的东西,你可以写自己:
编写自己的代码来读取一个队列到另一个,但是这是上)。
使用
std::copy
操纵底层的std::deque
容器,同样是O(n)。根据
std::queue
创建您自己的容器,但可以维护多个队列以模拟O(1)中的联接。
相关问题
- 1. 合并两个优先级队列
- 2. 合并/合并两个Erlang列表
- 3. MYSQL合并两个结果行 - (失去和优胜队伍)合并到一列
- 4. 按特定顺序合并两个队列的方法
- 5. SML - 合并两个列表
- 6. Groovy合并两个列表?
- 7. 合并两个列表
- 8. 合并两个diamensional阵列
- 9. 合并两个列表C++
- 10. PHP合并两个阵列
- 11. Prolog合并两个列表
- 12. 合并两个列表的
- 13. 合并两个列表
- 14. std ::队列迭代
- 15. 合并两列
- 16. 合并两列
- 17. TeamCity构建队列合并
- 18. Mercurial队列:合并补丁
- 19. Java中的合并队列
- 20. 合并排序和队列
- 21. 合并两个ObservableCollections
- 22. 是std ::队列有事件机制(信号在std ::队列中)
- 23. 基于两列合并两个文件
- 24. 接合/合并两个阵列
- 25. 并行合并两个排序列表
- 26. Winform合并两列
- 27. MySQL合并两列
- 28. 比较2个队列并查找两个队列中不存在的元素
- 29. 如何在合并DataFrame时合并两个列表列?
- 30. 合并两个表
你真的需要使用队列吗?如果你使用std :: list,你可以在两个列表中进行连接(假设它们不需要排序)。 – GWW 2011-05-02 20:45:00
这意味着什么呢?如何在合并队列中排序条目? – 2011-05-02 20:52:32