在C++中,set和unordered_set都是用來存儲唯一元素的容器,但它們之間有一些不同之處。在遍歷方面,兩者的性能也有所不同。
std::set<int> s = {1, 2, 3, 4, 5};
// 使用迭代器遍歷set
for (auto it = s.begin(); it != s.end(); ++it) {
std::cout << *it << " ";
}
// 使用范圍for循環遍歷set
for (int val : s) {
std::cout << val << " ";
}
std::unordered_set<int> us = {1, 2, 3, 4, 5};
// 使用迭代器遍歷unordered_set
for (auto it = us.begin(); it != us.end(); ++it) {
std::cout << *it << " ";
}
// 使用范圍for循環遍歷unordered_set
for (int val : us) {
std::cout << val << " ";
}
總的來說,set在遍歷時有序性更好,而unordered_set在查找元素時更快。根據實際需求選擇合適的容器來存儲和遍歷數據。