📅  最后修改于: 2023-12-03 15:29:51.200000             🧑  作者: Mango
unordered_set
是C++ STL(Standard Template Library)中的一个关联容器,用于存储唯一的元素集合,并且支持高效的元素查找、插入和删除操作。unordered_set
内部使用哈希表(hash table)实现,因此其元素的存储是无序的。
find()
函数是 unordered_set
容器中的一个成员函数,用于查找一个给定的元素是否在容器中出现过。 find()
函数返回一个 unordered_set::iterator
类型的对象,指向第一个匹配该元素的位置。如果没有找到匹配的元素,则返回 unordered_set::end()
。
find()
函数的语法如下:
unordered_set::iterator find (const value_type& val)
其中,value_type
是 unordered_set
中存储元素的类型,val
是要查找的元素。
如果查找成功,则返回一个 unordered_set::iterator
类型的对象,该对象指向第一个匹配该元素的位置。如果未找到匹配的元素,则返回 unordered_set::end()
。
下面是一个例子,展示了如何使用 unordered_set
的 find()
函数:
#include <iostream>
#include <unordered_set>
using namespace std;
int main() {
unordered_set<int> my_set = { 1, 2, 3, 4, 5 };
unordered_set<int>::iterator it = my_set.find(3);
if (it != my_set.end()) {
cout << "元素 3 在容器中出现了" << endl;
}
else {
cout << "元素 3 没有在容器中出现" << endl;
}
return 0;
}
上述代码创建了一个 unordered_set
容器,用于存储整数集合。然后,我们使用 find()
函数查找元素 3 是否在容器中出现。如果查找成功,则输出 "元素 3 在容器中出现了";否则输出 "元素 3 没有在容器中出现"。
在实际使用中,unordered_set
的 find()
函数对于查找给定的元素是否在集合中出现非常有用。它可以帮助程序员快速地编写高效的查找算法,以提高程序的性能。