unordered_set.find()
时间: 2023-12-10 14:31:30 浏览: 66
unordered_set.find() 是C++中的一个函数,用于在无序集合(unordered_set)中查找指定元素的位置。它返回一个迭代器,指向包含该元素的位置,如果集合中不存在该元素,则返回一个指向集合末尾的迭代器。
例如,假设我们有一个无序集合 nums,我们可以使用 unordered_set.find() 函数来查找元素 5 是否存在:
```cpp
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> nums = {1, 3, 5, 7, 9};
auto it = nums.find(5);
if (it != nums.end()) {
std::cout << "Element 5 found!" << std::endl;
} else {
std::cout << "Element 5 not found." << std::endl;
}
return 0;
}
```
输出结果为 "Element 5 found!",表示元素 5 存在于集合中。
相关问题
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 ]
unordered_set.find()返回值
`unordered_set::find()` 返回一个迭代器,指向第一个找到的元素。如果没有找到元素,则返回 `unordered_set::end()` 迭代器。因此,我们通常使用以下方式来检查元素是否存在于 `unordered_set` 中:
```cpp
unordered_set<int> mySet = {1, 2, 3};
unordered_set<int>::iterator it = mySet.find(2);
if (it != mySet.end()) {
// 元素 2 存在于 mySet 中
} else {
// 元素 2 不存在于 mySet 中
}
```
在 C++11 中,可以使用 `auto` 关键字自动推导迭代器类型:
```cpp
unordered_set<int> mySet = {1, 2, 3};
auto it = mySet.find(2);
if (it != mySet.end()) {
// 元素 2 存在于 mySet 中
} else {
// 元素 2 不存在于 mySet 中
}
```
阅读全文