unordered_set
时间: 2023-07-03 16:03:52 浏览: 67
unordered_flat_set:C ++连续内存哈希容器。-开源
`unordered_set` 是 C++ STL 中的一个容器,它是一个无序集合,可以用来存储一组不重复的元素。`unordered_set` 内部使用哈希表来存储元素,所以插入、查找、删除等操作的时间复杂度都是 O(1) 的,比如 `insert()`、`find()`、`erase()` 等函数。和 `set` 不同的是,`unordered_set` 中的元素并没有排序,所以遍历时的顺序是不确定的。
`unordered_set` 的定义和使用方式与其他 STL 容器类似,例如:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet;
mySet.insert(3);
mySet.insert(1);
mySet.insert(4);
mySet.insert(2);
std::cout << "mySet contains:";
for (int x : mySet) {
std::cout << " " << x;
}
std::cout << std::endl;
if (mySet.find(3) != mySet.end()) {
std::cout << "3 is in mySet" << std::endl;
}
mySet.erase(2);
std::cout << "mySet contains:";
for (int x : mySet) {
std::cout << " " << x;
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
mySet contains: 4 1 2 3
3 is in mySet
mySet contains: 4 1 3
```
可以看到,插入的顺序与遍历时的顺序不同,而删除元素时也不会改变元素的顺序。
阅读全文