C++ Unordered_set 库 - 查找


描述

它用于搜索以 k 为值的元素的容器,如果找到则返回一个迭代器,否则返回一个迭代器到 unordered_set::end。

宣言

以下是 std::unordered_set::find 的声明。

C++11

   iterator find ( const key_type& k );
const_iterator find ( const key_type& k ) const;

参数

k − K 是搜索元素。

返回值

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

例外情况

如果任何元素比较对象抛出异常,则抛出异常。

请注意,无效参数会导致未定义的行为。

时间复杂度

恒定时间。

例子

以下示例显示了 std::unordered_set::find 的用法。

#include <iostream>
#include <string>
#include <unordered_set>

int main () {
   std::unordered_set<std::string> myset = { "sai","ram,","krishna" };

   std::string input;
   std::cout << "Enter the myset char: ";
   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;
}

让我们编译并运行上面的程序,这将产生以下结果 -

Enter the myset char: krishna
krishna is in myset
无序集.htm