c++ 自定义排序容器set

来源:互联网 发布:unity3d 移动物体 编辑:程序博客网 时间:2024/06/06 02:38

编程实例:

#include <iostream>#include <set>#include <string>using namespace std;using std::set;struct MySetItem{string str;MySetItem(const char* cstr):str(cstr){}// bool operator < (const MySetItem& item) const //自定义排序函数// {// return (str < item.str);// }};struct MyComp //自定义排序函数{bool operator()(const MySetItem& a, const MySetItem& b){return (a.str < b.str);}};int main(int argc, char *argv[]){    MySetItem item1("aaaa");MySetItem item2("vasfa");MySetItem item3("sadf");MySetItem item4("ggasfa");MySetItem item5("heerga");MySetItem item6("g333");MySetItem item7("g333");// set<MySetItem> iset;set<MySetItem, MyComp> iset;iset.insert(item1);iset.insert(item2);iset.insert(item3);iset.insert(item4);iset.insert(item5);iset.insert(item6);iset.insert(item7);//set<MySetItem>::iterator iter = iset.begin();set<MySetItem, MyComp>::iterator iter = iset.begin();for(;iter != iset.end(); ++iter){cout << (*iter).str << endl;}    return 0;}

两种方式实现


0 0
原创粉丝点击