for (set<T>::iterator it = s.begin(); it != s.end(); it++)
{
cout << *it << endl;
}
set<T> st; // set 默认构造函数
multiset<T> mst; // multiset 默认构造函数
set(const set& st); // 拷贝构造函数
set& operator=(const set& st); // 重载等号操作符
swap(st); // 交换两个集合容器
int size(); // 返回容器中元素的数目
bool empty(); // 判断容器是否为空
pair<iterator, bool> insert(T elem);
// 在容器中插入元素,返回插入位置的迭代器(不成功则返回end())和是否插入成功
// 如果是multiset,则返回值只有iterator
clear(); // 清除所有元素
iterator erase(pos); // 删除pos迭代器所指的元素,返回下一个元素的迭代器
iterator erase(beg, end); // 删除区间[beg, end)内的所有元素,返回下一个元素的迭代器
erase(T elem); // 删除容器中值为elem的元素
//利用仿函数 指定set容器的排序规则
class MyCompare
{
public:
bool operator()(int v1, int v2)
{
return v1 > v2;
}
};
set<int, MyCompare> s;
//模版类也是可以有默认值的,第二个模版参数的默认值为less
iterator find(T key);
// 查找键key是否存在,若存在,返回该键的元素的迭代器;若不存在,返回set.end();
int count(T key);
// 查找键key的元素个数
iterator lower_bound(T keyElem);
// 返回第一个key>=keyElem元素的迭代器
iterator upper_bound(T keyElem);
// 返回第一个key>keyElem元素的迭代器
pair<iterator, iterator> equal_range(T keyElem);
// 返回容器中key与keyElem上相等的两个上下限迭代器
//构造
pair<T1, T2> p(k, v);
//另一种构造方式
pair<T1, T2> p = make_pair(k, v);
//使用
cout << p.first << p.second << endl;