小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。
set
简介:所有元素都会在插入时自动排序
本质:set
与 multiset
属于关联式容器,底层结构是用二叉树实现的
set 构造器与赋值
【函数原型】:
1 | c++复制代码- set<T> st; //默认构造函数 |
【demo】:
1 | c++复制代码#include <iostream> |
小结:
set
容器插入元素时用insert
set
容器插入元素时会自动排序
set 大小和交换
【函数原型】:
1 | c++复制代码- size(); //返回容器中元素的数目 |
【demo】:
1 | c++复制代码#include <iostream> |
set 插入元素和删除元素
【函数原型】:
1 | c++复制代码- insert(elem); // 向容器中插入元素 |
【demo】:
1 | c++复制代码#include <iostream> |
set 查找和统计
【函数原型】:
1 | c++复制代码- find(key); // 查找key是否存在,若存在,则返回key对应的迭代器,若不存在,返回set.end(); |
【demo】:
1 | c++复制代码#include <iostream> |
set 与 multiset区别
set
不可以插入重复数据,而multiset
可以set
插入数据的同时会返回插入结果,表示插入是否成功multiset
不会检测数据,可以插入重复数据
【demo】:
1 | c++复制代码#include <iostream> |
pair对组创建
1 | 复制代码成对出现的数据,利用对组可以返回两个数据 |
【函数原型】:
1 | c++复制代码- pair(type,type) p (value1,value2); |
【demo】:
1 | c++复制代码#include <iostream> |
set 容器排序
1 | arduino复制代码set 容器默认排序规则为从小到大,利用仿函数,可以改变排序规则 |
【demo】:
1 | c++复制代码#include <iostream> |
set 存放自定义数据类型
1 | arduino复制代码对于自定义数据类型,set必须指定排序规则才可以插入数据 |
【demo】:
1 | c++复制代码#include <iostream> |
本文转载自: 掘金