越写发现自己不会的越多,HDYP。。。。
自定义结构体比较
自己定义的结构体如果想使用sort方法排序,只需要参考下述做法。
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
bool cmp(const ListNode* a, const ListNode* b) {
return a->val>b->val;
}
std::vector<ListNode *> v;
std::sort(v.begin(), v.end(), cmp);
自定义结构优先队列
有两种方式可以实现
struct Way {
int val;
Way(int x) : val(x) {}
bool operator<(const Way& t) const
{
return x<t.x; // Max Heap
}
};
Or
struct Way {
bool operator() (Way m, Way n) {
return m.x<n.x;
}
};