最简单的用法
#include<iostream>
#include<set>
#include<string>
using namespace std;
int main(){
set<string>strset;
set<string>::iterator it;
strset.insert("cantaloupes");
strset.insert("apple");
strset.insert("orange");
strset.insert("banana");
strset.insert("grapes");
strset.insert("grapes");
for(it=strset.begin();it!=strset.end();it++){
cout<<*it<<" ";
}
cout<<endl;
return 0;
}
结构体的比较
#include<iostream> #include<cstring> #include<set> using namespace std; struct Student{ int id; char name[20]; }stu1,stu2,stu3; struct setCmp { bool operator()(Student a,Student b) { return a.id>b.id; } }; int main(){ set<Student,setCmp>mys; set<Student>::iterator it; stu1.id=1008; strcpy(stu1.name,"zhangsan"); mys.insert(stu1); stu2.id=1001; strcpy(stu2.name,"lisi"); mys.insert(stu2); stu3.id=1005; strcpy(stu3.name,"wangwu"); mys.insert(stu3); for(it=mys.begin();it!=mys.end();++it){ cout<<it->id<<" "<<it->name<<endl; } return 0; }