21xrx.com
2024-12-22 20:56:44 Sunday
登录
文章检索 我的文章 写文章
C++ 无序集合(unordered set)
2023-06-29 08:42:42 深夜i     --     --
C++ 无序集合 unordered set 哈希表 STL

C++ 无序集合(unordered set)是STL中的一种关联容器,它可以存储任意类型的数据,并且可以保证其中的元素没有重复值。与其它关联容器(如map、multiset等)不同的是,unordered set使用哈希表来实现,因此可以在O(1)时间复杂度内对元素进行插入、删除、查找等操作。

使用unordered set的过程可以分为三个步骤:创建、插入和查找。首先,需要包含头文件 ,并使用命名空间std,来使用unordered set。然后可以创建一个空的集合,或者将其初始化为具有某些元素的集合。例如,可以通过以下方式创建一个空的无序集合:


std::unordered_set<int> mySet;

也可以将其初始化为一些元素,例如:


std::unordered_set<int> mySet = 4;

插入元素的方式和其他容器相似,可以使用insert()函数和emplace()函数。例如,如果想要将元素6插入到mySet中,可以使用如下代码:


mySet.insert(6);

或者:


mySet.emplace(6);

删除元素也和其他的容器类似,可以使用erase()函数。例如,要将元素6从mySet中删除,可以使用以下代码:


mySet.erase(6);

最后是查找元素的操作,unordered set提供find()函数来进行查找。如果找到了元素,则返回迭代器,否则返回end()。例如,以下代码可以查找元素3是否在mySet中:


if (mySet.find(3) != mySet.end())

  std::cout << "Element found in mySet!" << std::endl;

else

  std::cout << "Element not found in mySet." << std::endl;

总而言之,C++无序集合是一个非常有用的容器,可以快速插入、删除、查找元素。在处理数据时,我们可以根据实际需要选择不同的关联容器来处理数据。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复