哈希集合(unordered_set)

哈希集合为一个无序集合,类似于哈希表(unordered_map),不过hash表用来查找元素的,而哈希集合主要是存储元素,判断是否在里面。
需要注意的是:

  1. unordered_set存储的不是键值对,而仅存储数据的,可以通过迭代器来遍历集合中的每个值。
  2. 哈希集中的值互不相同(集合互异性),且不可被修改
  3. 无序
一.初始化
#include <unordered_set>  //set为#include <set>

unordered_set<Node*> set;    //Node*类型
unordered_set<int> set={2,4,8}; //直接初始化
unordered_set<int> set2(set);    //拷贝构造
二. 基本操作
int a;

int n=set.size();  //当前集合元素个数
//插入
set.insert(a);    //向集合中插入元素a
set.emplace(a);   //比insert效率更高的插入
//删除
set.erase(a);   //删除集合中的a
//清空
set.clear();
//查找
auto b=set.find(6);   //查找值为6的元素,若有返回迭代器,若无返回end()
int nums=set.count(6);  //集合中值为6的元素个数
		  
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值