std::set
是 C++ 标准库中的关联容器之一,它实现了一种有序的、不包含重复元素的集合。以下是 std::set
的用法总结:
#include <set>
std::set
对象:std::set<ElementType> mySet;
ElementType
是集合中元素的类型。mySet.insert(element);
mySet.erase(element);
auto it = mySet.find(element);
if (it != mySet.end()) {
// 元素找到
} else {
// 元素未找到
// 处理不存在的情况
}
std::set
:for (const auto& element : mySet) {
// 处理每个元素
}
size_t size = mySet.size();
bool isEmpty = mySet.empty();
std::set
中的元素是按升序排序的,且不允许重复元素。std::set
的底层实现是基于红黑树的。#include <iostream>
#include <set>
int main() {
std::set<int> mySet;
// 插入元素
mySet.insert(3);
mySet.insert(1);
mySet.insert(4);
mySet.insert(2);
// 遍历 set
for (const auto& element : mySet) {
std::cout << element << " ";
}
std::cout << std::endl;
// 删除元素
mySet.erase(3);
// 查找元素
auto it = mySet.find(2);
if (it != mySet.end()) {
std::cout << "Element 2 found." << std::endl;
} else {
std::cout << "Element 2 not found." << std::endl;
}
return 0;
}
这是一个简单的使用 std::set
的例子。std::set
是一个非常有用的容器,尤其适用于需要有序、不允许重复元素的场景。