C++ 中的 set
是一个关联容器,它包含一组唯一的对象。每个元素在插入时都会自动按键排序。set
通常使用红黑树实现,因此插入、删除和查找操作的时间复杂度都是 O(log n)。
下面是一个简单的 set
使用示例:
#include <iostream>
#include <set>
int main() {
// 创建一个整数类型的 set
std::set<int> my_set;
// 向 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 << " ";
}
std::cout << std::endl;
// 查找元素
auto it = my_set.find(1);
if (it != my_set.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
// 删除元素
my_set.erase(1);
// 再次遍历 set
std::cout << "After erasing 1:" << std::endl;
for (const auto& element : my_set) {
std::cout << element << " ";
}
std::cout << std::endl;
return 0;
}
输出结果:
1 3 4
Found: 1
After erasing 1:
3 4
在这个示例中,我们创建了一个整数类型的 set
,并向其中插入了一些元素。注意,重复的元素不会被插入。然后我们遍历了 set
,查找了一个元素,并删除了它。最后再次遍历 set
以查看结果。