unorderedset
时间: 2023-08-28 15:22:35 浏览: 39
unordered_set是C++标准库中的容器,它提供了一种高效的无序集合,其中的元素没有特定的顺序。它基于哈希表实现,因此查找、插入和删除操作的平均时间复杂度都是常数时间O(1)。
unordered_set中的元素必须是唯一的,重复的元素将被自动忽略。可以使用哈希函数来确定元素在内部存储中的位置,从而实现快速的查找和插入操作。
使用unordered_set时,你可以通过以下方式进行常见操作:
- 插入元素:使用insert()函数插入元素到unordered_set中。
- 删除元素:使用erase()函数删除指定元素或范围内的元素。
- 查找元素:使用find()函数查找指定元素,如果找到则返回指向该元素的迭代器,否则返回end()迭代器。
- 遍历集合:使用迭代器或范围-based for循环遍历unordered_set中的所有元素。
以下是一个简单的示例代码,展示了unordered_set的基本用法:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet;
// 插入元素
mySet.insert(5);
mySet.insert(2);
mySet.insert(8);
// 遍历集合
for (const auto& element : mySet) {
std::cout << element << " ";
}
std::cout << std::endl;
// 查找元素
auto it = mySet.find(2);
if (it != mySet.end()) {
std::cout << "Found element: " << *it << std::endl;
}
// 删除元素
mySet.erase(5);
return 0;
}
```
以上代码将输出:
```
8 2 5
Found element: 2
```
希望能帮到你!如果有任何问题,请随时提问。