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