Home C&C++函数库 c++ 语法 程序源码 Linux C库

std::

unordered_set::find

公众成员函数  <unordered_set>
      iterator find ( const key_type& k );
const_iterator find ( const key_type& k ) const;

获取元素迭代器

在容器中查找值为k的元素,如果找到则返回指向该元素的迭代器, 否则返回指向unordered_set::end(容器末端之后的元素)的迭代器。

另一个成员函数unordered_set::count可用于检查特定元素是否存在。

unordered_set类型中的所有迭代器对元素都具有const访问权限 (即使那些类型没有以const_作为前缀的迭代器也是如此):元素可以插入或移除,但在容器中不能修改。

☲  参数


K
要搜索的值。
成员类型key_type是容器中元素的类型。在unordered_set容器中, 它与value_type相同,定义为类的第一个模板形参(Key)的别名。

☉  返回值



如果在容器中找到指定的值,则返回该元素的迭代器;如果在容器中找不到该元素,则返回unordered_set::end

成员类型iteratorconst_iterator是前向迭代器类型。两者都可以是相同迭代器类型的别名。

☣  示例



// unordered_set::find
#include <iostream>
#include <string>
#include <unordered_set>

int main ()
{
  std::unordered_set<std::string> myset = { "red","green","blue" };

  std::string input;
  std::cout << "color? ";
  getline (std::cin,input);

  std::unordered_set<std::string>::const_iterator got = myset.find (input);

  if ( got == myset.end() )
    std::cout << "not found in myset";
  else
    std::cout << *got << " is in myset";

  std::cout << std::endl;

  return 0;
}

输出:
color? blue
blue is in myset

✥ 复杂度



平均情况下:常数。
最坏情况:容器大小呈线性。

☣ 迭代器的有效性



不变.

🍄  另请参阅



unordered_set::count 具有特定值的元素数量(公众成员函数)
unordered_set::equal_range 获取具有特定键的元素范围(公众成员函数)
unordered_set::begin 返回一个指向unordered_set容器或其中一个桶开头的迭代器(公众成员函数)

联系我们 免责声明 关于CandCplus 网站地图