unordered_map通过键值查找
时间: 2024-02-05 18:09:23 浏览: 77
unordered_map是C++标准库中的一个关联容器,它提供了一种通过键值对进行查找的功能。unordered_map使用哈希表来实现,因此查找操作的平均时间复杂度为O(1)。
要通过键值对进行查找,可以使用unordered_map的find()函数或者[]操作符。下面是两种常用的方法:
1. 使用find()函数:
```cpp
unordered_map<Key, Value> myMap;
// 添加键值对
myMap[key] = value;
// 查找键值对
auto it = myMap.find(key);
if (it != myMap.end()) {
// 找到了对应的键值对
Value value = it->second;
// 进行相应的操作
} else {
// 没有找到对应的键值对
}
```
2. 使用[]操作符:
```cpp
unordered_map<Key, Value> myMap;
// 添加键值对
myMap[key] = value;
// 查找键值对
auto it = myMap.find(key);
if (it != myMap.end()) {
// 找到了对应的键值对
Value value = myMap[key];
// 进行相应的操作
} else {
// 没有找到对应的键值对
}
```
需要注意的是,如果使用[]操作符进行查找时,如果键不存在,会自动插入一个默认值,并返回该默认值。而使用find()函数则不会插入默认值。
阅读全文