C++ unordered_map 怎么插入和查找数据
时间: 2024-09-22 17:08:03 浏览: 38
C++11 unordered_map与map(插入,遍历,Find)效率对比。
在C++中,`unordered_map`是一种关联容器,它实现了哈希表的数据结构,用于存储键值对,提供快速的平均时间复杂度进行插入、删除和查找操作。以下是插入和查找数据的基本步骤:
1. **插入数据**:
```cpp
#include <unordered_map>
std::unordered_map<std::string, int> myMap; // 创建一个空的无序映射
// 插入键值对
myMap["key1"] = 10; // 键为字符串,值为整数
myMap[42] = "Answer"; // 如果键不是基本类型,需要适配器如`std::pair`
```
2. **查找数据**:
```cpp
// 查找键对应的值
if (myMap.find("key1") != myMap.end()) {
int value = myMap["key1"];
// 使用value变量处理找到的结果
}
// 或者使用const_iterator迭代器查找
for (const auto& pair : myMap) {
if (pair.first == "key1") {
std::cout << "Value: " << pair.second << std::endl;
break;
}
}
```
需要注意的是,`find()`函数如果找不到键,则返回`end()`迭代器,可以用来检查元素是否存在。
阅读全文