unordered_map.find用法
时间: 2023-10-13 21:20:32 浏览: 144
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。
相关问题
unordered_map.find
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_set.find
unordered_set.find()函数是用于在unordered_set容器中搜索指定元素的C++ STL内置函数。它返回一个迭代器,指向找到的元素。如果找不到指定元素,则返回指向unordered_set的end()迭代器。该函数的时间复杂度是平均O(1)。下面是一个示例代码,展示了如何使用unordered_set.find()函数来搜索元素并判断是否存在:
```cpp
#include <iostream>
#include <unordered_set>
#include <string>
using namespace std;
int main() {
unordered_set<string> sampleSet = { "geeks1", "for", "geeks2" };
if (sampleSet.find("geeks1") != sampleSet.end()) {
cout << "element found." << endl;
} else {
cout << "element not found." << endl;
}
return 0;
}
```
在这个示例中,我们创建了一个包含三个字符串的unordered_set(sampleSet)。然后,我们使用find()函数来搜索"geeks1"这个元素。如果找到了,就输出"element found.",否则输出"element not found."。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++:哈希,unordered_map和unordered_set](https://blog.csdn.net/zhang_si_hang/article/details/126739994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [【C++】unordered_set中find()用法及代码示例](https://blog.csdn.net/qq_29931565/article/details/124511606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文