std::unordered_set
中的 find
方法用于查找特定元素并返回一个迭代器,该迭代器指向找到的元素。如果元素不存在,则返回一个指向 unordered_set
的 end()
的迭代器。
语法
iterator find(const Key& key);
const_iterator find(const Key& key) const;
- key: 要查找的元素。
- 返回值:
- 如果找到元素,返回指向该元素的迭代器。
- 如果没有找到,返回
end()
迭代器。
示例
以下是一个示例,展示如何使用 find
方法来查找元素:
#include <iostream>
#include <unordered_set>
int main() {
std::unordered_set<int> mySet = {1, 2, 3, 4, 5};
int valueToFind = 3;
auto it = mySet.find(valueToFind);
if (it != mySet.end()) {
std::cout << valueToFind << " 在集合中存在。" << std::endl;
} else {
std::cout << valueToFind << " 不在集合中。" << std::endl;
}
valueToFind = 6;
it = mySet.find(valueToFind);
if (it != mySet.end()) {
std::cout << valueToFind << " 在集合中存在。" << std::endl;
} else {
std::cout << valueToFind << " 不在集合中。" << std::endl;
}
return 0;
}
输出
运行上述代码,输出将如下所示:
3 在集合中存在。
6 不在集合中。
总结
std::unordered_set::find
方法用于查找特定元素,返回一个指向该元素的迭代器,或者返回end()
迭代器表示未找到。- 使用
find
方法可以有效地检查集合中是否存在某个元素,并直接获取该元素的迭代器,这在需要进一步操作时非常方便。