最简单的用法
#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; }