在 C++ 中,set
是一种关联容器,它包含一组唯一的对象。每个元素在插入时都会自动按键进行排序。set
通常使用红黑树实现,因此插入、删除和查找操作的时间复杂度都是 O(log n)。
下面是一个简单的示例,展示了如何在 C++ 中使用 set
:
#include <iostream>
#include <set>
int main() {
// 创建一个整数类型的 set
std::set<int> my_set;
// 向 set 中插入元素
my_set.insert(5);
my_set.insert(3);
my_set.insert(7);
my_set.insert(1);
my_set.insert(3); // 重复元素,不会被插入
// 遍历 set 并输出元素
for (int num : my_set) {
std::cout << num << " ";
}
std::cout << std::endl;
// 查找 set 中的元素
int search_value = 7;
auto it = my_set.find(search_value);
if (it != my_set.end()) {
std::cout << search_value << " found in the set." << std::endl;
} else {
std::cout << search_value << " not found in the set." << std::endl;
}
// 删除 set 中的元素
my_set.erase(3);
// 再次遍历 set 并输出元素
std::cout << "After erasing 3:" << std::endl;
for (int num : my_set) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
输出结果:
1 3 5 7
7 found in the set.
After erasing 3:
1 5 7
在这个示例中,我们创建了一个整数类型的 set
,并向其中插入了一些元素。然后,我们遍历 set
并输出其元素。接下来,我们查找 set
中的特定元素,并将其删除。最后,我们再次遍历 set
并输出其元素。