c++ unordered_set的find方法

std::unordered_set 中的 find 方法用于查找特定元素并返回一个迭代器,该迭代器指向找到的元素。如果元素不存在,则返回一个指向 unordered_set 的 end() 的迭代器。

语法

iterator find(const Key& key);
const_iterator find(const Key& key) const;
  • key: 要查找的元素。
  • 返回值:
    • 如果找到元素,返回指向该元素的迭代器。
    • 如果没有找到,返回 end() 迭代器。

示例

以下是一个示例,展示如何使用 find 方法来查找元素:

#include 
#include 

int main() {
    std::unordered_set 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 方法可以有效地检查集合中是否存在某个元素,并直接获取该元素的迭代器,这在需要进一步操作时非常方便。

你可能感兴趣的:(c++,开发语言,unordered_set,find)