priority_queue重载运算符
2025年4月12日小于 1 分钟
priority_queue重载运算符
typedef pair<int, int> pii;
struct cmp {
bool operator () (const pii& lhs, const pii& rhs) {
return lhs.second > rhs.second;
}
};
priority_queue<pii, vector<pii>, cmp> q;
或
struct node {
int x,y,cost;
bool operator < (node rhs) const {
return this->cost > rhs.cost;
}
};
priority_queue<node> q;
注意下面的写法并不能正确重载:
typedef pair<int, int> pii;
bool operator < (const pii& lhs, const pii& rhs) {
return lhs.second < rhs.second;
}
priority_queue<pii> q;