STL:set
注:这个容器是我在做题的学到的,还只是皮毛,但是想记录一下简单的使用方法
头文件
#include<set>
set里面一般运用在储存不重复的数据,与map相比里面有相对好利用的函数运用在某些题目中
构建
#define ll long long
set<ll>st;
pair<ll,ll>PII;
set<pair<ll,ll> >s;
一般函数
插入函数
与一般的queue,map,vector,stack的若干形式的push不同,set用的是insert
set<ll>st;
st.insert(2);
//将2插入容器中
容量函数
返回的是容器内的数据数量
set<ll>st;
ll l=st.size();//返回容器的元素数量
if(st.empty())//用来判断是否为空
返回迭代器
set<ll>st;
st.begin();//返回st中排完序的第一个元素的双向迭代器
st.end();//返回st中排完序的最后一个元素的双向迭代器
st.find(x);//若找到x,则返回x元素的双向迭代器,否者返回end(型的迭代器
lower_bound(val);//返回set容器中第一个大于或等于val的迭代器
upper_bound(val);//返回set容器中第一个大于val的迭代器
删除
set<ll>st;
st.erase();//删除st中的单个元素
st.clear();//清空set元素
交换
set<ll>st,st2;
swap(st,st2);//交换st和st2内的所有元素