STL:SET
作者:
尒猫不秀
,
2021-12-08 19:50:30
,
所有人可见
,
阅读 251
头文件
#include<set>
set里面包含2种容器
-------------------------------------------------------------------------------
|
set<int>a; | multiset<int>b;
//不能包含同种元素如果插入了同种元素则忽略该操作 | 可以包含同种元素
|
-------------------------------------------------------------------------------
相同点 a.clear();
a.empty();
a.size();
-------------------------------------------------------------------------------
迭代器:
迭代器的定义: set<int>::iterator it = a.begin();
it++;代表有序元素的下一个元素
it--;代表有序元素的上一个元素;
--it;++it都可以实现
a.end();
a.begin();
注意这玩意如果类型是自己定义的结构体就要重载小于号
重载
struck Rec
{
int x,y;
bool operator< (const Rec&t)
const
{
return x<t.x;
}
};
a.find(x);//如果有x就返回x的迭代器如果没有x就返回a.end()
a.inseert(x);//插入一个x进去
(如果要返回数值就加上*用来解除迭代器)
a.lower_bound(x);//找到大于等于x的最元素的迭代器
a.upper_bound(x);//找到大于x的最小元素的迭代器
a.erase(it);//表示删除一个迭代器
a.count(x);//返回x在a里面的个数