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