set根据元素键值自动被排序,迭代器不能修改键值,键值唯一不重复。
set 构造函数
set<T> st; // set默认构造函数
mulitset<T> mst; // mulitset默认构造函数
set(const set &st); // set 拷贝构造函数
set 赋值操作
set& operator=(const set &st); // 重载=
swap(st); // 交换连个集合容器
set 大小操作
size(); // 返回容器中元素个数
empty(); // 判断容器是否为空
set 插入和删除操作
insert(elem); // 在容器中插入元素
clear(); // 清除所有元素
erase(pos); // 返回pos迭代器所指的元素,返回下一个元素的迭代器
erase(beg , end); // 删除区间[beg, end)的所有元素,返回下一个元素的迭代器
erase(elem); // 删除容器中值为elem的元素
map 查找操作
find(key); // 查找key是否存在,若存在,返回该元素的迭代器,若不存在,返回set.end()
count(keyElem); // 返回容器key为keyElem的对组个数,对set来说,要么是0,要么是1。
lower_bound(keyElem); // 返回第一个key>=keyElem元素的迭代器
upper_bound(keyElem); // 返回第一个key>keyElem元素的迭代器
equal_range(keyElem); // 返回容器中key与keyElem相等的上下限的两个迭代器
set定义排序(大到小排序)
class myCompare
{
public:
bool operator()(int v1,int v2)
{
return v1>v2
}
};
// 使用
int mian()
{
set<int,myCompare>s;
}