c++ unordered_set 函数参考

本文详细介绍了C++标准库中的unordered_set容器,包括empty()、size()、max_size()等基本操作,重点讲解了find()、count()及insert()、emplace()、erase()等插入、查找和删除方法的使用。通过实例解析了这些函数的工作原理,帮助开发者更好地理解和运用unordered_set。
摘要由CSDN通过智能技术生成

empty() : 空则返回true

size(): unordered_set中的元素个数

max_size(): unordered_set的最大容量(因为unordered_set是线性存储的,会有大小上限)

find():查找

iterator find ( const key_type& k ); const_iterator find ( const key_type& k ) const;
如果能找到,则返回迭代器
如果找不到,则返回unordered_set::end()

count()

size_type count ( const key_type& k ) const;
返回与k的哈希值相同的元素个数

k存在
⟷ \longleftrightarrow
find(k)!=unoredered_set::end()
⟷ \longleftrightarrow
count(k)>0

insert()

返回值为pair<iterator,bool>

emplace()

与insert的区别是:将插入和构造合并了,减少了中间变量的产生
比如:
insert(String("hello"))

emplace("hello")是差不多的
但是后者减少了中间临时变量的构造。

erase() 删除

//by position (1)	

iterator erase ( const_iterator position );//返回值是被删元素的下一个元素的迭代器

//by key (2)	

size_type erase ( const key_type& k );//返回值是被删元素的下一个元素的迭代器

//range (3)	

iterator erase ( const_iterator first, const_iterator last );//参数既可以是值也可以是指针,返回值是列表中被成功删掉的元素个数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值