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. MYSQL合并两个结果行 - (失去和优胜队伍)合并到一列
- 2. 按特定顺序合并两个队列的方法
- 3. Groovy合并两个列表?
- 4. 合并两个列表
- 5. 合并两个列表
- 6. 合并两个列表的
- 7. Prolog合并两个列表
- 8. std ::队列迭代
- 9. 合并两列
- 10. Mercurial队列:合并补丁
- 11. 合并两个ObservableCollections
- 12. 基于两列合并两个文件
- 13. 接合/合并两个阵列
- 14. 并行合并两个排序列表
- 15. Winform合并两列
- 16. 如何在合并DataFrame时合并两个列表列?
- 17. 合并两个UITableViewControllers
- 18. 迭代通过std队列
- 19. 基于第一列合并两个文件合并为一个
- 20. 如何两个列表中有两列合并到一个
- 21. 合并两行合并到一列
- 22. 合并两个VB.Net项目
- 23. 的mysql:合并两列到两列
- 24. 如何合并两个包含std :: unique_ptr的向量?
- 25. 哪个队列最合适?
- 26. 合并两个阵列并按日期排列此新阵列
- 27. 合并两个数据帧的列
- 28. 合并两个数组列表
- 29. 如何合并这两个列表?
- 30. 合并两个列表中的Makefile
你真的需要使用队列吗?如果你使用std :: list,你可以在两个列表中进行连接(假设它们不需要排序)。 – GWW 2011-05-02 20:45:00
这意味着什么呢?如何在合并队列中排序条目? – 2011-05-02 20:52:32