cpp查找哈希表中的value
时间: 2024-02-15 11:04:55 浏览: 87
哈希查找.cpp
要在 C++ 中查找哈希表中的 value,可以使用 unordered_map 的 find() 函数或者迭代器进行遍历。
使用 find() 函数的方法如下所示:
```cpp
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<int, std::string> mymap = {
{1, "apple"},
{2, "banana"},
{3, "orange"},
{4, "pear"},
};
auto it = mymap.find(2); // 查找键值为 2 的元素
if (it != mymap.end()) { // 如果找到了
std::cout << "value of key 2 is " << it->second << std::endl; // 输出 value
} else {
std::cout << "key 2 not found" << std::endl;
}
return 0;
}
```
这里使用 unordered_map 的 find() 函数查找键值为 2 的元素,如果找到了,则输出对应的 value;否则输出 "key 2 not found"。
另外,也可以通过遍历 unordered_map 来查找 value,方法如下所示:
```cpp
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<int, std::string> mymap = {
{1, "apple"},
{2, "banana"},
{3, "orange"},
{4, "pear"},
};
std::string value_to_find = "banana";
for (auto& pair : mymap) { // 遍历 unordered_map
if (pair.second == value_to_find) { // 如果找到了
std::cout << "key of value " << value_to_find << " is " << pair.first << std::endl; // 输出 key
break;
}
}
return 0;
}
```
这里遍历 unordered_map,查找 value 为 "banana" 的元素,如果找到了,则输出对应的 key。
阅读全文