C++ 中的 set
是一種關聯容器,它包含一組唯一的對象。每個元素在插入時都會自動按鍵進行排序。set
的主要用途如下:
set
中的每個元素只能出現一次,因此可以用來存儲不重復的數據集。std::set<int> mySet = {1, 2, 3, 4, 5};
set
中的元素會根據鍵進行自動排序。默認情況下,排序使用 operator<
進行比較。你也可以提供自定義的比較函數或類來實現不同的排序規則。// 使用自定義比較函數
struct MyComparator {
bool operator()(int a, int b) const {
return a < b;
}
};
std::set<int, MyComparator> mySet(MyComparator());
set
提供了對數時間復雜度的查找、插入和刪除操作。這使得 set
成為實現集合、字典等數據結構的理想選擇。// 查找元素
auto it = mySet.find(3);
if (it != mySet.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
set
支持范圍 for 循環,方便地遍歷所有元素。for (const auto& element : mySet) {
std::cout << element << std::endl;
}
總之,C++ 中的 set
是一種非常有用的數據結構,可以用來存儲唯一元素、自動排序、快速查找和遍歷元素。