c++提高编程 3.8set/multiset容器
3.8.1 set基本概念
简介:所有元素都会在插入时自动被排序
本质:set/multiset属于关联式容器,底层结构是用二叉树实现。
set与multiset区别:
set不允许容器中有重复元素
multset允许容器由重复元素
3.8.2 set构造和赋值
函数原型:
set<T> st;//默认构造函数
set(const set &st); //拷贝构造函数
set& operator=(const set &st);//重载等号操作符
3.8.3 set大小和交换
size();//返回容器中元素数量
empty();//判断容器是否为空
swap(st);//交换两个容器
3.8.4 set插入和删除

3.8.5set查找和统计
函数原型:
find(key)//若查找到,返回该键元素的迭代器,否则返回set。end();
count(key) //同级元素的个数
3.8.6set和multiset的区别
区别:
set不可以插入重复数据,而multiset可以
set插入数据的同时会返回插入结果,表示插入是否成功
multiset不会监测数据因此可以插入重复数据
3.8.7pair对组的创建
功能描述:
成对的出现的数据,利用队组可以返回两个数据
两种创建方式:
1.pair<type,type> p(value1,value2);
2.pair<type , type>p2 = make_pair(value1 , value2);
3.8.8set容器排序
学习目标:set容器默认排序规则为从小到大排序,掌握如何改变排序规则
主要技术点:利用仿函数,可以改变排序规则

浙公网安备 33010602011771号