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容器默认排序规则为从小到大排序,掌握如何改变排序规则

主要技术点:利用仿函数,可以改变排序规则

posted @ 2021-06-22 15:48  白米a  阅读(45)  评论(0)    收藏  举报