sort中的cmp函数与优先队列priority_queue的重载函数的区别:
- 在优先队列中的写法:(他有好几种写法,这是其一,还有的写法很像单独的cmp函数,可以见算法笔记的226面)
struct fruit
{
string name;
int price ;
friend bool operator < (fruit a,fruit b)
{
return a.price>b.price;//低价优先!!!!。
}
};
- sort()中的cmp函数写法:
bool cmp(fruit a,fruit b){
return a.price>b.price;//高价优先
}
总之:
二者的作用相反。
优先队列的默认规则就是按照从高到低的顺序排序的。
或者结构体内部的写法模板:
grade大的在前,id小的在前。这个却是同cmp的。