您的位置:首页 > 其它

STL中sort用法小实例

2017-03-15 11:27 211 查看
#include<iostream>

#include<vector>

#include<algorithm>

using namespace std;

#define stlforeach(type,iter,container) type::iterator iter;for(iter=(container).begin();iter!=(container).end();++iter)

struct Node{

    int id;

    int num;

    Node(int iid=0,int inum=0)

    :id(iid),num(inum){}

};

bool compable(const Node&n1,const Node& n2)

{

        if(n1.id<n2.id)

        return true;

        else if(n1.id==n2.id)

        return n1.num<=n2.num;

        else

        return false;

}

int main()

{

    vector<Node> v;

    Node n1(1,3);

    Node n2(1,4);

    Node n3(3,4);

    

    

    v.push_back(n1);

    v.push_back(n3);

    v.push_back(n2);

    

    stlforeach(vector<Node>,iter,v)

    {

        cout<<iter->id<<endl;

    }

    

    sort(v.begin(),v.end(),compable);

    cout<<"paixurgk"<<endl;

    

    stlforeach(vector<Node>,iter2,v)

    {

        cout<<iter2->id<<endl;

    }

    

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: