329 words
1 minute
set容器 - CPP STL
set/multiset容器
set基本概念
简介
- 所有元素都会在插入时自动被排序
本质
- set/multiset属于关联式容器,底层结构用的是二叉树实现
set/multiset区别
- set不允许有重复元素
- multiset允许有重复元素
set构造和赋值
功能描述:
创建set容器以及赋值
构造:
set<T> st; //默认构造set(const set &st);//拷贝构造赋值
set& operator=(const set &st); //重载等号操作符set大小和交换
功能描述
- 统计set容器大小以及交换set容器
函数原型
size(); //返回容器中的元素数目empty(); //判断是否为空swap(); //交换2个集合容器set插入和删除
功能描述
- set容器进行插入和删除数据
函数原型
insert(elem); //插入元素clear(); //清除所有erase(pos); //清除pos迭代器所指元素,并返回下一个元素的迭代器erase(beg,end); //删除区间[beg,end)的元素,返回下一个元素的迭代器erase(elem); //删除值为elem的元素set查找和统计
功能描述
- 对set容器进行查找数据以及数据统计
函数原型
find(key);//查找key是否存在,若存在,返回其迭代器;不存在,返回end();count(key); //统计key元素的个数(对于set而言,只会是0,1)set和multiset区别
学习目标
掌握set和multiset区别
区别
- set不可插入重复数据
- set插入数据的同时会返回插入结果,表示插入是否成功
- multiset不会检测数据,因此可以插入重复数据
pair对组的创建
功能描述:
- 成对出现的数据,利用对组可以返回2个数据
两种创建方式:
pair<type,type> p (value1,value2);pair<type,type> p = make_pair(value1,value2);set容器排序
学习目标
- set默认从小到大,掌握如何改变guize
主要技术点
- 仿函数(()重载)改变排序规则
Video
Share
If this article helped you, please share it with others!
set容器 - CPP STL
https://www.bilibili.com/video/BV1et411b73Z/?p=223 Some information may be outdated
Related Posts Smart