1.头文件 : #include<set>
2.定义 : set<string>name;
3.存入 : name.insert(key);
4.输出 : 需要定义一个迭选器 方法如下
4.1 set<string>::iterator it;(定义it为迭选器)
4.2 for(it=name.begin();i!=name.end();ii++)
{
cout<<*it<<endl;
}
5.set容器默认从小到大排序 若需要自己定义的排序 需要进行重载
5.1 比较函数的重载
struct cmp{
bool operator()(string a,string b) / /对"()"进行重载
{
return a>b;
}
}
6.下面函数包括输入学生姓名 对学生姓名进行字典序排序的功能
#include <stdio.h>
#include<algorithm>
#include<string>
#include<set>
using namespace std;
struct cmp{
bool operator()(string a,string b)
{
return a>b;
}
};
int main(int argc, char *argv[])
{
int n;
set<string,cmp>name;
set<string,cmp>::iterator it;
while(scanf("%d",&n)!=EOF)
{
int i;
for(i=0;i<n;i++)
{
string c;
cin>>c;
name.insert(c);
}
for(it=name.begin();it!=name.end();it++)
{
cout<<*it<<endl;
}
}
return 0;
}