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

0 阅读1分钟

1.set基本概念

  • multiset 多重集
  • set 所有元素都会在插入时自动排序
  • 本质 set/multiset 属于关联式容器,底层结构是用二叉树实现
  • set和multiset的区别: set不允许容器中有重复的元素 multiset允许容器中有重复的元素

2.set构造和赋值

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

- 插入数据只有insert()方法

image.png 欧,我的问题! set容器里面没有n个m这种构造函数!

3.set大小和交换

  • size() 返回容器中元素个数
  • empty() 判断容器是否为空
  • swap() 交换两个集合容器

4.set容器插入和删除

image.png

5.set查找和统计

  • find(key) 查找key是否存在,若存在,返回该键的元素的迭代器,若不存在,返回set.end()
  • count(key) 统计key的元素个数

6.set和multiset区别

- set不可以插入重复数据,multiset可以重复插入
- set插入数据时同时返回插入结果,表示插入是否成功
- multiset不会检测数据,因此可以插入重复数据

7.pair对组创建

功能描述: 成对出现的数据,利用对组可以返回两个数据
两者创建方式:
- pair<type,type>(value1,value2);
- pair<type,type> p = make_pair(value1,value2);

image.png

8.set容器排序

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