您的位置:首页 > 编程语言 > C语言/C++

c++ list sort方法

2012-06-14 15:15 204 查看
#include<list>


[code]#include<string>

#include<functional>


#include<iostream>




structS{


std::stringfirstname;


std::stringsecondname;


intID;


//重新定义小于,因为默认的sort函数调用的操作符是<,所以我们只需要重载<就好了


booloperator<(S&b){


returnID<b.ID;


}


 


};


intmain(intargc,char*argv[])


{


std::list<S>mylist;


std::list<S>::iteratoriter;


Sa;


a.firstname="dfadf";


a.ID=5;


mylist.push_back(a);


a.firstname="得到";


a.ID=9;


mylist.push_back(a);


a.firstname="xxx";


a.ID=7;


mylist.push_back(a);


a.firstname="gggg";


a.ID=25;


mylist.push_back(a);


mylist.sort();


//现在默认的operator已经被我们重载了,就不用管,直接调用sort就好了


for(iter=mylist.begin();iter!=mylist.end();++iter)


{


std::cout<<static_cast<S>(*iter).ID<<"\t";


}


std::cout<<std::endl;


return0;


}

[/code]

.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: