STL中的set和multiset学习小记
来源:互联网 发布:trpg跑团软件 编辑:程序博客网 时间:2024/05/01 08:45
注意,请未学习过平衡树的先去学习,再来学这个。
大神勿喷,本人蒟蒻。
调用
写上#include<set>
有两种,一种是set,另一是multiset。
set是集合,集合内没有相同元素,每个数出现次数0或1。
multiset是多重集,每个元素可以出现多次。
一般调用多重集,这么写。
multiset <类型> 名称;
set也是一样。
用处
集合与多重集会自动维护所属类型的顺序(我们可以改变它的排序标准)
它的实现用到了一种平衡树叫红黑树。
每一个位置是迭代器。
假设迭代器是gjx,对应的值应该是*gjx。
基本函数与过程
假设我们定义的多重集叫s。
begin()返回指向第一个元素的迭代器
clear()清除所有元素
count()返回某个值元素的个数
empty()如果集合为空,返回true
end()返回指向最后一个元素的迭代器
equal_range()返回集合中与给定值相等的上下限的两个迭代器
erase()删除集合中的元素
find()返回一个指向被查找到元素的迭代器
get_allocator() 返回集合的分配器
insert()在集合中插入元素
lower_bound()返回指向大于(或等于)某值的第一个元素的迭代器
key_comp()返回一个用于元素间值比较的函数
max_size()返回集合能容纳的元素的最大限值
rbegin()返回指向集合中最后一个元素的反向迭代器
rend()返回指向集合中第一个元素的反向迭代器
size()集合中元素的数目
swap()交换两个集合变量
upper_bound()返回大于某个值元素的迭代器
value_comp()返回一个用于比较元素间的值的函数
重定义运算符
重定义<可以改变其的排序标准。
#include<cstdio>#include<set>#define fo(i,a,b) for(int i=a;i<=b;i++)using namespace std;struct suan{ int data; friend bool operator < (suan a,suan b){ return a.data>b.data; }};multiset <suan> s;int i,j,k,l,t,n,a[200005];int main(){ scanf("%d",&n); fo(i,1,n){ scanf("%d",&a[i]); suan gjx; gjx.data=a[i]; s.insert(gjx); } multiset<suan>::iterator xdl; xdl=s.end(); xdl--; do{ printf("%d\n",(*xdl).data); xdl--; }while xdl!=s.begin()); printf("%d\n",(*s.begin()).data);}
不是很全面,不过待补充吧!
- STL中的set和multiset学习小记
- c++ STL set和multiset 学习笔记
- STL---set和multiset
- STL set和multiset
- STL set和multiset
- STL - set和multiset
- STL中的set与multiset
- STL set、multiset 学习笔记
- STL之set和multiset
- set和multiset使用方法 (STL)
- STL之set和multiset
- stl-容器set和multiset
- STL容器Set和Multiset
- C++ STL set和multiset
- c++ STL中的set和multiset的使用
- set和multiset 学习
- STL学习笔记----5.容器 set 和 multiset
- 【C++ STL学习之五】容器set和multiset
- linux命令大全
- 调试打印ethhdr,iphdr,tcphdr和指定长度的内存块
- 查看二进制中1的个数
- startActivityForResult用法
- A2DP Sink, AVRCP Controller and HFP Client in Android L
- STL中的set和multiset学习小记
- 欢迎使用CSDN-markdown编辑器
- MP3头部结构体定义(一)
- Extjs4 之单元格编辑 获取列的对象
- POJ - 1018 Communication System
- 【转】Could not open Selected VM debug port (8700)
- TestLink用户手册学习总结
- uva 11324 the largest clique (2-sat 二分答案)
- VC++动态链接库编程之MFC DLL