C++: map和set的使用

目录

1.头文件

2.set和multiset的区别

3.set和map的区别

4.加了multi的区别


这里只说几个要点。

1.头文件

#include <map>
#include <set>

2.set和multiset的区别

set和multiset的区别
setmultiset
只能插入不重复的key可以插入重复的key
一串包含重复的string插入之后,自动去重

树上允许存储相同的值 

用erase删除查找的指定key,只删确定的这个删除所有值相同的key

共同点:

  • 不支持插入有序对
  • 不支持随机访问
  • 都是关联式容器
  • 底层是搜索二叉树(红黑树)

3.set和map的区别

set和map的区别
setmap
只能存一个key值,插入返回值是迭代器和bool值可以存一对有序对,插入的类型是pair,pair是一个类,包含两个成员,(一般把第一个叫key,第二个叫value)都是模板。支持无参构造,支持两个类模板的构造,支持const的构造。
不支持[]运算符重载支持[]运算符重载,可以通过[]查找指定的key
不能修改key不能修改key,可以修改value
不允许重复不允许key重复,但value可以重复

共同点:

  • 都是关联式容器。

4.加了multi的区别

multiset和mutimap相比set和map的区别在于,允许key重复。

map和set的使用必须要在写代码中熟练。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值