C++set容器与multiset容器

set本质是集合,所有元素都会在插入时自动被排序。
set/multiset属于关联式容器,底层结构是用二叉树实现。
set和multiset区别:
set不允许容器中有重复的元素
multiset允许容器中有重复的元素
构造函数:
set<T> st;//默认构造函数
set(const set& st);//拷贝构造函数
赋值:
set& operator=(const set& st);//重载等号运算符
size()函数:返回容器中元素的数目
empty()函数:判断容器是否为空
swap()函数:交换两个集合容器

insert()函数:在容器中插入元素
clear()函数:清除所有元素
erase(pos)函数:删除pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg,end)函数:删除区间[beg,end)的所有元素,返回下一个元素的迭代器
erase(elem)函数:删除容器中值为elem的元素
find(key)函数:查找key是否存在,返回该键元素的迭代器,若不存在,返回set.end();
count(key)函数:统计key元素个数(对于set而言,不是0就是1)


set和multiset区别:
set不可以插入重复数据,而multiset可以
set插入数据的同时会返回插入结果,表示插入成功
multiset不会检测数据,因此可以插入重复数据


两种方式创建队组

set排序规则:
默认是从小到大排列。

排序自定义类型:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值