unordered_map.find
时间: 2023-07-08 07:49:58 浏览: 53
unordered_map::find()函数是用于在C++中查找unordered_map容器中指定键的元素的函数。该函数返回一个指向该元素的迭代器。如果指定的键不存在于unordered_map中,则返回指向unordered_map尾部的迭代器。用法示例:
```
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> mymap = {
{"apple", 1},
{"orange", 2},
{"banana", 3}
};
auto it = mymap.find("orange");
if (it != mymap.end()) {
std::cout << "The value of 'orange' is " << it->second << std::endl;
} else {
std::cout << "Key not found in mymap" << std::endl;
}
return 0;
}
```
在上面的示例中,我们使用unordered_map::find()函数查找键为"orange"的元素。如果找到了该元素,则输出其值2。否则,输出"Key not found in mymap"。
相关问题
unordered_map.find
unordered_map.find是C++标准库中的一个函数,用于在无序映射容器(unordered_map)中查找给定的键值。它接受一个键作为参数,并返回一个迭代器,指向该键在容器中的位置。如果找到了该键,则迭代器指向该键值对;如果未找到,则迭代器指向容器末尾(即end())。
使用示例:
```cpp
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<int, std::string> map = {
{1, "one"},
{2, "two"},
{3, "three"}
};
// 查找键为2的元素
auto it = map.find(2);
if (it != map.end()) {
std::cout << "Found: " << it->second << std::endl; } else {
std::cout << "Not found." << std::endl;
}
return 0;
}
```
输出结果:
```
Found: two
```
在上述示例中,我们创建了一个无序映射容器map,并使用find函数查找键为2的元素。如果找到了,则输出对应的值;否则,输出"Not found."。注意,使用find函数进行查找的时间复杂度为O(1)。
unordered_map.find用法
unordered_map.find() 是 C++ STL 中用来查找 unordered_map 容器中指定键值的函数。其用法为:
```
unordered_map<Key, T> mymap;
typename unordered_map<Key, T>::iterator it = mymap.find(key);
if (it != mymap.end()) {
// 找到了
} else {
// 没找到
}
```
其中,`Key` 是 unordered_map 的键类型,`T` 是值类型。`mymap.find(key)` 返回一个迭代器,指向键值为 `key` 的元素。如果找到,则迭代器指向该元素;否则,迭代器等于 `mymap.end()`。
需要注意的是,如果 unordered_map 中存在多个键值等于 `key` 的元素,则只会返回其中任意一个元素的迭代器。如果需要查找所有满足条件的元素,需要自行遍历 unordered_map。