cpp 查找哈希表中是否存在某个key值
时间: 2024-02-15 13:05:00 浏览: 205
哈希表查找
在 C++ 中查找哈希表中是否存在某个 key 值,可以使用 unordered_map 的 find() 函数或者 count() 函数。
使用 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 << "key 2 found" << std::endl;
} else {
std::cout << "key 2 not found" << std::endl;
}
return 0;
}
```
这里使用 unordered_map 的 find() 函数查找键值为 2 的元素,如果找到了,则输出 "key 2 found";否则输出 "key 2 not found"。
另外,也可以使用 count() 函数来判断哈希表中是否存在某个 key 值,方法如下所示:
```cpp
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<int, std::string> mymap = {
{1, "apple"},
{2, "banana"},
{3, "orange"},
{4, "pear"},
};
if (mymap.count(2)) { // 如果键值为 2 的元素存在
std::cout << "key 2 found" << std::endl;
} else {
std::cout << "key 2 not found" << std::endl;
}
return 0;
}
```
这里使用 unordered_map 的 count() 函数判断键值为 2 的元素是否存在,如果存在,则输出 "key 2 found";否则输出 "key 2 not found"。注意,count() 函数返回的是键值为 key 的元素的个数,因为在 unordered_map 中,每个键值对的 key 是唯一的,因此如果存在键值为 key 的元素,count() 函数返回的值肯定是 1。
阅读全文