简介
声明
#include <set>
用法
基本形式
set<type> sset(Name_Of_SET); //声明
sset.insert((type)sth); //插入
for (set<type>::iterator it = sset.begin(); it != sset.end(); ++it)
cout << *it << "\n" ; //遍历每一元素
//这里的set<string>::iterator 是迭代器 是STL中的重要概念
//sset.begin() sset.end() 即集合内所有内容
注意
C++大多数容器都是自动排序(从小到大的)的,集合也不例外。所以要排序的话需另寻方法(方法同样适用于对结构体set排序)。
实现代码:
struct cmp{
bool operator ()(const TYPE a , const TYPE b)
{
return a(.*) > b(.*) ; // 从大到小 ;
}
};
set<TYPE,cmp> sset; //如此 插入之后便可以自动排序
for (set<TYPE,cmp>::iterator it = sset.begin(); it != sset.end(); ++it)
cout << *it << "\n" ;