unordered_map 根据元素值查找
时间: 2023-10-17 22:23:45 浏览: 99
在 `unordered_map` 中,元素是由键-值对(key-value pair)组成的。因此,如果想要根据元素值查找,需要遍历 `unordered_map` 中的所有元素,依次比较每个元素的值是否与目标值相等,直到找到匹配的元素。
以下是一个示例代码,通过遍历 `unordered_map` 中的所有元素,根据元素值查找对应的键:
```c++
#include <iostream>
#include <unordered_map>
#include <string>
int main() {
std::unordered_map<std::string, int> myMap = {
{"apple", 1},
{"banana", 2},
{"orange", 3},
{"pear", 4}
};
int targetValue = 3;
std::string targetKey = "";
for (auto const& pair : myMap) {
if (pair.second == targetValue) {
targetKey = pair.first;
break;
}
}
if (targetKey == "") {
std::cout << "Target value not found in map\n";
} else {
std::cout << "Target key for value " << targetValue << " is " << targetKey << "\n";
}
return 0;
}
```
输出结果为:
```
Target key for value 3 is orange
```
阅读全文