优先队列放pair,放结构体...sort排结构体,vector,pair... set放结构体

///vector中的 pair排序

vector<pair<int,char>>V;
bool judge(const pair<int,char> a, const pair<int ,char> b) {
    return a.first<b.first;            /// first 小的在前
}

sort(V.begin(),V.end(),judge);

 

///vector 存放 结构体,排序

struct xx{
    data n1;
    data n2;
}
bool cmp(xx A, xx B){
    return A.n1<B.n1; //n1小的排在前面

}

vector<xx>V;

sort(V.begin(),V.end(),cmp);

 

///priority_queue 存放 结构体

struct xx{
    data n1;
    data n2;
    friend bool operator < (const xx &A,const xx &B){
        return A.n1<B.n1; //大的先弹出
    }
}

priority_queue<xx> Q;

 

/// priority_queue 普通优先队列( 如 int 队列)

priority_queue<int,vector<int>,greater<int> > //greater 小的先弹出,less 为大的先弹出
priority_queue<int>                          //默认,大的先弹出

 

/// 优先队列中使用 pair , 自定义排序

#define pii pair<int,int>

struct cmp{
    bool operator() (const pii p1,const pii p2){
        return p1.first > p2.first;         /// first 小的先弹出
    }
};

priority_queue<pii,vector<pii>,cmp> Q;

 

/// set 放结构体


struct node{
    int a1;
    int a2;
    friend bool operator < (node A,node B){
        /// 想要的排序方式
    }
}

set<node>se;

 

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值