-2
A
回答
4
A std::set
在使用默認比較器時總是排序,因此您可以迭代它並按此順序打印條目。
for(std::set<std::string>::const_iterator it = myset.begin(); it != myset.end(); ++it)
std::cout << "Entry:" << *it << std::endl;
或
for(std::string const &s : myset)
std::cout << "Entry:" << s << std::endl;
只有當你提供你自己的比較,你可以修改排序順序您的需求。
1
STL容器(如map和set)使用比較器函數(默認std::less<T>
,其中T是我們放置的數據的類型)對容器的元素進行排序,還檢查容器中是否存在某個元素,以便插入可以防止重複的元素。
在你的情況下,設置將被自動排序,因爲默認比較器std::less<std::string>
將按照字典順序對字符串進行排序。
相關問題
- 1. 如何使用STL容器實現庫排序算法?
- 2. 用lambda函數排序stl容器
- 3. C++ STL容器
- 4. C#使用LINQ排序目錄名稱
- 5. STL中是否有排序的容器?
- 6. 在C++中使用排序算法STL
- 7. C++ STL容器和引用
- 8. STL設置自定義排序
- 9. 設置容器不輸出名稱
- 10. C++ STL容器和就地建設
- 11. 如何爲動態分配的stl容器設置分配器?
- 12. C#如何設置JsonProperty多個名稱?
- 13. 在C++中有超過1個排序方法的STL容器
- 14. Java設置 - 如何根據名稱列表進行排序
- 15. 使用STL排序緩衝區排序
- 16. 使用ri_cal設置管理器名稱
- 17. 如何在C++中使用STL排序來排序類中的某些值?
- 18. 我可以使用stl排序在C++中的結構排序
- 19. Boost如何序列化STL容器?
- 20. C++ STL排序向量
- 21. 設置名稱服務器 - 如何?
- 22. STL multiset設置插入順序C++
- 23. 如何在我的iPhone應用程序中使用C++ STL容器?
- 24. 如何使用XE C++ Builder設置打印名稱?
- 25. 如何爲reference_wrapper的STL容器設置初始大小?
- 26. 同時使用STL容器
- 27. 如何使用STL創建二叉樹設置C++
- 28. C++ STL容器:: clear :: swap
- 29. STL中的容器C++
- 30. 使用C++設置容器時出錯
如果你使用'std :: set',它會被自動排序。 –
這取決於您提供的包含數據類型的比較函數:http://www.cplusplus.com/reference/set/set/ 'Compare'模板參數可以讓您將比較函數更改爲您想要的函數。 –