list带参数的sort函数
来源:互联网 发布:商陆花软件视频教程 编辑:程序博客网 时间:2024/05/16 11:25
#include<iostream>#include<set>#include<map>#include<list>#include<vector>#include<queue>#include<cmath>#include<climits>#include<cstdio>#include<string>#include<cstring>#include<algorithm>typedef long long LL;using namespace std;struct node{ int x,y; node(int a,int b) { x=a; y=b; } friend bool operator<(const node a,const node b) { if(a.x!=b.x) return a.x<b.x; return a.y<b.y; }};struct cmp{ bool operator()(node a,node b) { if(a.x!=b.x) return a.x<b.x; return a.y<b.y; }};int main(){ list<node> q; //node k; node a1(3,4); node a2(7,8); node a3(6,5); q.push_back(a1); q.push_back(a2); q.push_back(a3); //less<node> ptr; //q.sort(ptr); OK //q.sort(less<node>() ); OK cmp k; q.sort(cmp()); //或者q.sort(k) for(list<node>::iterator i=q.begin(); i!=q.end(); i++) cout<<i->x<<' '<<i->y<<endl; return 0;}