以结构体Time为例:
struct Time{
int start, end;
};
priority_queue<Time> pq;
bool operator <(const Time& a,const Time& b){
return a.start > b.start;
} //这里以大于重载小于是因为默认情况下,优先队列是以大的作为队首,这样一反,就可以再默认情况下使得小的作为队首
二.直接在结构体中重载小于运算符:
struct Time{
int start, end;
bool operator < (const Time& t)const{
return start > t.start;
}
};
实质上来说是一样的。。。。
另外要注意的是:参数列表中的const不能省略,否则报错~~