c++ sort函数cmp比较参数传入

开始

假定有一个结构体

struct node{
    int p,r,val;
};

第一种 定义cmp函数,sort直接传入cmp

bool cmp(node a,node b){return a.p<b.p;}
sort(vec.begin(),vec.end(),cmp);

第二种 lamada表达式??这个中括号里面可以不为空,但是我忘了怎么用了

sort(vec.begin(),vec.end(),[](node a,node b){
        return a.p<b.p;
    });

第三种 结构体里重载<运算符,或者添加operator<友元函数

struct node{
    int p,r,val;
    friend bool operator<(node a,node b){return a.p<b.p;}
};

你可能感兴趣的:(数据结构与算法,C++,c语言,c++,java)