unordered_set和unordered_map的基本使用
时间: 2023-11-05 19:05:22 浏览: 96
unordered_set和unordered_map是C++ STL中的两种基于哈希表的容器,用于存储和管理数据。它们与set和map容器类似,但提供更高效的插入、查找和删除操作。下面介绍它们的基本使用。
unordered_set的基本使用:
```c++
#include <unordered_set>
using namespace std;
int main() {
// 创建一个空的unordered_set
unordered_set<int> mySet;
// 插入元素
mySet.insert(3);
mySet.insert(1);
mySet.insert(5);
// 删除元素
mySet.erase(1);
// 查找元素
if (mySet.find(3) != mySet.end()) {
cout << "3 is in the set." << endl;
}
// 遍历元素
for (auto it = mySet.begin(); it != mySet.end(); it++) {
cout << *it << " ";
}
cout << endl;
return 0;
}
```
unordered_map的基本使用:
```c++
#include <unordered_map>
using namespace std;
int main() {
// 创建一个空的unordered_map
unordered_map<string, int> myMap;
// 插入元素
myMap["apple"] = 3;
myMap["banana"] = 2;
myMap["orange"] = 1;
// 删除元素
myMap.erase("banana");
// 查找元素
if (myMap.find("apple") != myMap.end()) {
cout << "The number of apples is " << myMap["apple"] << endl;
}
// 遍历元素
for (auto it = myMap.begin(); it != myMap.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
以上代码中,unordered_set和unordered_map的基本操作都差不多,只是插入、删除、查找和遍历的操作有些许区别。unordered_set的插入、删除和查找操作都使用insert、erase和find函数,而unordered_map的插入、删除和查找操作都使用[]、erase和find函数。unordered_map中的[]操作可以直接获取或修改键对应的值。
阅读全文