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;}