我们要在 STL 中的 unordered_set 容器中查找键为某个值的元素时,可以使用 find 函数,如果成功找到,则返回指向该键值对的双向迭代器;反之,则返回和 end() 方法一样的迭代器。
find(value)
参数 | 描述 |
---|---|
value | 需要查找的值。 |
在 unordered_set 容器中查找值为 value 的元素,如果成功找到,则返回指向该值的迭代器;反之,则返回和 end() 方法一样的迭代器。
使用 find 方法查找 unordered_set 中的元素
#include <iostream>
#include <unordered_set>
using namespace std;
int main()
{
cout << "嗨客网(www.haicoder.net)\n" << endl;
unordered_set<string> unordered_set1{{"HaiCoder", "haicoder", "haicoder.net", "www.haicoder.net"}};
auto iter = unordered_set1.find("haicoder");
if (iter != unordered_set1.end())
{
cout << "Find: " << *iter << endl;
}
else
{
cout << "Not Find haicoder" << endl;
}
iter = unordered_set1.find("Haicoder");
if (iter != unordered_set1.end())
{
cout << "Find: " << *iter << endl;
}
else
{
cout << "Not Find Haicoder" << endl;
}
return 0;
}
编译后,我们直接运行生成的二进制文件 a.out
,如下图所示:
我们首先使用了 find 查找 unordered_set 中指定值的元素,将返回的迭代器与 end 迭代器进行比较,如果找到,则不等于 end 迭代器,否则,没找到,则返回值等于 end 迭代器。
我们要在 STL 中的 unordered_set 容器中查找键为某个值的元素时,可以使用 find 函数,如果成功找到,则返回指向该键值对的双向迭代器;反之,则返回和 end() 方法一样的迭代器。