C++ 中的 std::unordered_set
时间: 2024-01-17 15:53:52 浏览: 84
std::unordered_set 是 C++ 的标准库中的一个容器,用于存储一组唯一的元素。它是使用哈希表实现的,因此插入、查找和删除操作的平均时间复杂度都是常数时间 O(1)。与 std::set 相比,std::unordered_set 不保持元素的有序性。
使用 std::unordered_set 需要包含头文件 <unordered_set>,并使用命名空间 std。下面是一个简单的例子:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet;
// 插入元素
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);
// 查找元素
if (mySet.find(2) != mySet.end()) {
std::cout << "Element 2 found!" << std::endl;
}
// 删除元素
mySet.erase(3);
// 遍历元素
for (const auto& element : mySet) {
std::cout << element << " ";
}
return 0;
}
```
这个例子创建了一个 std::unordered_set,并插入了一些元素。然后通过 find 函数查找元素,通过 erase 函数删除元素,并通过循环遍历打印剩余的元素。输出结果可能是 "1 2",但不保证有序。
希望这个简单的例子可以帮助你理解 std::unordered_set 的基本用法。如果有更多问题,请随时提问!
阅读全文