unordered_map 使用
时间: 2023-11-30 15:42:31 浏览: 101
unordered_map是C++ STL中的一个关联容器,它提供了一种将键映射到值的方法。它的使用方法类似于map,但是它内部实现了哈希表,因此查找速度是常量级别的。以下是unordered_map的使用方法:
1. 头文件引入
```c++
#include <unordered_map>
```
2. 创建unordered_map对象
```c++
std::unordered_map<std::string, int> myMap;
```
3. 插入元素
```c++
myMap.insert(std::make_pair("apple", 1));
myMap["banana"] = 2;
```
4. 访问元素
```c++
std::cout << myMap["apple"] << std::endl; // 输出:1
```
5. 查找元素
```c++
if (myMap.find("apple") != myMap.end()) {
std::cout << "Found apple!" << std::endl;
}
```
6. 删除元素
```c++
myMap.erase("apple");
```
相关问题
unordered_map使用
unordered_map是C++ STL中的一个容器,用于实现哈希表,其可以用来存储键值对。使用unordered_map需要包含头文件<unordered_map>。
下面是unordered_map的使用示例:
```C++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
// 创建一个unordered_map对象
unordered_map<string, int> umap;
// 插入键值对
umap.insert(make_pair("apple", 3));
umap.insert(make_pair("orange", 5));
umap["banana"] = 2;
// 访问元素
cout << "The value of apple is " << umap["apple"] << endl;
cout << "The value of orange is " << umap["orange"] << endl;
cout << "The value of banana is " << umap["banana"] << endl;
// 查找元素
if (umap.find("pear") != umap.end()) {
cout << "The value of pear is " << umap["pear"] << endl;
}
else {
cout << "Pear not found" << endl;
}
// 遍历unordered_map
for (auto it = umap.begin(); it != umap.end(); it++) {
cout << it->first << ": " << it->second << endl;
}
return 0;
}
```
输出结果:
```
The value of apple is 3
The value of orange is 5
The value of banana is 2
Pear not found
banana: 2
apple: 3
orange: 5
```
在上面的示例中,我们创建了一个字符串到整数的unordered_map对象umap,并插入了三个键值对。我们可以使用[]运算符访问元素,使用find()方法查找元素。我们还可以使用迭代器遍历unordered_map中的所有元素。
unordered_map使用方法
unordered_map是C++ STL中的一个关联容器,用于存储键值对。它的使用方法类似于map,但是它的元素是无序的。以下是unordered_map的使用方法:
1. 头文件:需要包含<unordered_map>头文件。
2. 定义:可以使用以下语法定义一个unordered_map:
unordered_map<key_type, value_type> map_name;
其中,key_type是键的类型,value_type是值的类型,map_name是unordered_map的名称。
3. 插入元素:可以使用以下语法向unordered_map中插入元素:
map_name[key] = value;
其中,key是键,value是值。
4. 查找元素:可以使用以下语法查找unordered_map中的元素:
map_name.find(key);
其中,key是要查找的键。
5. 删除元素:可以使用以下语法删除unordered_map中的元素:
map_name.erase(key);
其中,key是要删除的键。
6. 遍历元素:可以使用以下语法遍历unordered_map中的元素:
for(auto it = map_name.begin(); it != map_name.end(); ++it) {
cout << "Key: " << it->first << ", Value: " << it->second << endl;
}
其中,it是一个迭代器,可以通过it->first和it->second访问键和值。
希望这些信息对你有所帮助!
阅读全文