c++ unordered_set操作
时间: 2024-10-16 18:18:55 浏览: 43
`unordered_set`是C++标准库中的关联容器,它类似于哈希集合,用于存储唯一的元素。它的主要特点是查找、插入和删除的时间复杂度通常为O(1),这得益于内部的哈希表实现。以下是`unordered_set`的一些常见操作:
1. **创建和初始化**:
```cpp
unordered_set<int> mySet; // 空集
unordered_set<int> mySet = {1, 2, 3}; // 初始化集合
```
2. **添加元素**:
```cpp
mySet.insert(4); // 插入元素
```
如果尝试添加已存在的元素,`insert`操作不会做任何事情,因为`unordered_set`不允许有重复值。
3. **查找元素**:
```cpp
bool exists = mySet.find(2) != mySet.end(); // 检查元素是否存在
```
4. **删除元素**:
```cpp
mySet.erase(2); // 删除指定元素
```
5. **迭代遍历**:
```cpp
for (const auto& element : mySet) {
std::cout << element << " ";
}
```
6. **大小获取**:
```cpp
size_t size = mySet.size(); // 获取集合大小
```
7. **合并两个集合**:
```cpp
unordered_set<int> otherSet = {5, 6};
mySet.merge(otherSet); // 合并两个unordered_set,保持唯一性
```
注意,`unordered_set`是无序的,这意味着集合中的元素顺序可能会变化,并且它不会按照插入的顺序保存元素。
阅读全文