[C++] STL 之 unordered_set

基本特性

  • 是一个集合:因此集合中是不存在重复成员的,当加入重复成员时视为无事
  • unorder:无序,暗示 unordered_set 类的底层实现为 Hash ,好处为使得搜索、插入、移除拥有常数时间

使用[1]

2.1.unordered_set构造

std::unordered_set<std::string> c:初始化容器

std::unordered_set<std::string> c{ "aaa", "bbb", "ccc" }:初始化容器,并将"aaa", "bbb", "ccc"加入到容器中

std::unordered_set<std::string> c{ 16 }:初始化容器,并设置16个桶

2.2.添加新的元素(注意无法插入相同元素)

 

c.insert("dddd"):向容器添加元素”dddd"
a.insert({ "aaa","bbbb","cccc" }):向容器添加元素"aaa","bbbb","cccc"
a.insert(b.begin(), b.end()):b是一个存储着和a相同类型元素的向量,可将b中所有元素添加到a中

2.3.查找元素

a.find("eeee"):查找元素"eeee",返回结果为a.end()则表明没有找到,否则返回所对应元素

a.count("eeee"):查找元素"eeee"在a中有几个(由于unordered_set中没有相同的元素,所以结果通常为0或1)

 

 

参考:

[1]优快云博客:C++ unordered_set

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值