C++学习笔记(set/multiset容器)

set基本概念

简介:所有元素都会在插入时自动被排序

本质:set/multiset属于关联式容器,底层结构是用二叉树实现

set和multiset区别:

1.set不允许容器中有重复的元素

2.multiset允许容器中有重复的元素

set构造和赋值

功能描述:创建set容器以及赋值

set大小和交换

功能描述:统计set容器大小以及交换set容器

1.size();     //返回容器中元素的数目

2.empty();    //判断容器是否为空

3.swap(st);    //交换两个集合容器

set插入和删除

功能描述:set容器进行插入数据和删除数据

1.insert(elem);    //在容器中插入元素

2.clear();     //清除所有元素

3.erase(pos);     //删除pos迭代器所指的元素,返回下一个元素的迭代器

4.erase(beg, end);    //删除区间[beg, end)的所有元素,返回下一个元素的迭代器

5.erase(elem);     //删除容器中值为elem的元素

set查找和统计

功能描述:对set容器进行查找数据以及统计数据

1.find(key);     //查找key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回set.end();

2.count(key);    //统计key的元素个数

set和multiset区别

掌握set和multiset的区别

区别:

1.set不可以插入重复数据,而multiset可以

2.set插入数据的同时会返回插入结果,表示插入是否成功

3.multiset不会检测数据,因此可以插入重复数据

pair对组创建

功能描述:成对出现的数据,利用对组可以返回两个数据

两种创建方式:

1.pair<type, type> p (value1, value2);

2.pair<type, type> p = make_pair(value1, value2);

set容器排序

set容器默认规则为从小到大,掌握如何改变排序规则

可以利用仿函数,改变排序规则

自定义数据类型,改变排序规则

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值