unordered_set的用法举例
时间: 2023-04-09 07:04:37 浏览: 134
unordered_set是C++ STL中的一个容器,用于存储不重复的元素,其内部实现是哈希表。以下是unordered_set的用法举例:
```c++
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet = {1, 2, 3, 4, 5};
// 插入元素
mySet.insert(6);
// 删除元素
mySet.erase(3);
// 查找元素
if (mySet.find(4) != mySet.end()) {
std::cout << "4 is in the set" << std::endl;
}
// 遍历元素
for (auto it = mySet.begin(); it != mySet.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
1 2 4 5 6
```
相关问题
unordered_set应用编程举例
当然可以回答!unordered_set是C++ STL中的一个容器,用于存储不重复的元素。下面是一个简单的例子,展示了如何使用unordered_set:
```c++
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet;
mySet.insert(1);
mySet.insert(2);
mySet.insert(3);
std::cout << "Size of mySet: " << mySet.size() << std::endl;
if (mySet.find(2) != mySet.end()) {
std::cout << "2 is in mySet" << std::endl;
}
return 0;
}
```
这个程序创建了一个名为mySet的unordered_set,然后插入了三个元素。最后,它输出了mySet的大小,并检查了2是否在mySet中。如果2在mySet中,程序会输出"2 is in mySet"。
unordered_set和unordered_map的用法
unordered_set和unordered_map是C++标准库中的容器,用于存储和管理不重复的元素集合和键值对集合。
unordered_set是一个无序的集合容器,其中的元素是唯一的且无序的。它基于哈希表实现,因此插入、删除和查找操作的平均时间复杂度为常数时间O(1)。使用unordered_set可以快速判断一个元素是否存在于集合中。
unordered_map是一个无序的键值对容器,其中的键是唯一的且无序的。它也基于哈希表实现,因此插入、删除和查找操作的平均时间复杂度为常数时间O(1)。使用unordered_map可以根据键快速查找对应的值。
使用unordered_set和unordered_map时,需要包含头文件<unordered_set>和<unordered_map>。以下是它们的基本用法:
1. 创建容器:
unordered_set<int> mySet; // 创建一个空的unordered_set
unordered_map<string, int> myMap; // 创建一个空的unordered_map
2. 插入元素或键值对:
mySet.insert(10); // 插入元素10到unordered_set中
myMap["apple"] = 5; // 插入键值对("apple", 5)到unordered_map中
3. 删除元素或键值对:
mySet.erase(10); // 从unordered_set中删除元素10
myMap.erase("apple"); // 从unordered_map中删除键为"apple"的键值对
4. 查找元素或键值对:
auto it = mySet.find(10); // 在unordered_set中查找元素10,返回迭代器
if (it != mySet.end()) {
// 找到了元素
}
auto it = myMap.find("apple"); // 在unordered_map中查找键为"apple"的键值对,返回迭代器
if (it != myMap.end()) {
// 找到了键值对
int value = it->second; // 获取对应的值
}