C++ 中的 set
是一種關聯容器,它包含一組唯一的對象。每個元素在插入時都會自動按鍵進行排序。set
通常使用紅黑樹實現,因此插入、刪除和查找操作的時間復雜度都是 O(log n)。
以下是 set
的一些基本用法:
#include <iostream>
#include <set>
set
容器并插入元素:std::set<int> my_set;
my_set.insert(3);
my_set.insert(1);
my_set.insert(4);
my_set.insert(1); // 重復元素,不會被插入
set
:for (const auto& element : my_set) {
std::cout << element << " ";
}
// 輸出:1 3 4
auto it = my_set.find(3);
if (it != my_set.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
// 輸出:Found: 3
my_set.erase(1); // 刪除元素 1
set
是否包含某個元素:if (my_set.count(4) > 0) {
std::cout << "Set contains 4" << std::endl;
} else {
std::cout << "Set does not contain 4" << std::endl;
}
// 輸出:Set contains 4
set
的大小:std::cout << "Set size: " << my_set.size() << std::endl;
// 輸出:Set size: 3
set
:my_set.clear();
這些是 set
的一些基本用法。set
還支持其他操作,如 lower_bound
、upper_bound
和 equal_range
等,以滿足不同的需求。