C++ 中的 set
是一種關聯容器,它包含一組唯一的對象,這些對象按照特定的排序規則自動排序。set
在以下場景中非常有用:
set
是一個很好的選擇。它會自動確保元素的唯一性,無需額外的檢查。set
中的元素會根據其比較函數(默認為 operator<
)自動排序。這使得 set
在需要有序集合的場景中非常有用,例如,當你需要按字母順序存儲字符串時。set
提供了常數時間復雜度的查找操作(find
、count
等),這使得它在需要快速查找特定元素的場景中非常高效。set
支持范圍遍歷(使用迭代器或范圍 for 循環),這使得它在需要遍歷集合中所有元素的場景中非常方便。set
支持集合運算,如并集、交集、差集等。這使得它在處理集合操作的場景中非常有用。以下是一個簡單的 set
示例,用于存儲一組不重復的整數,并按升序排序:
#include <iostream>
#include <set>
int main() {
std::set<int> my_set = {3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5};
for (int num : my_set) {
std::cout << num << " ";
}
return 0;
}
輸出結果:
1 2 3 4 5 6 9