以结构体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不能省略,否则报错~~
本文详细介绍了在C++中使用优先队列优化Time结构体排序的方法,包括在结构体外重载小于运算符和直接在结构体内重载的方式,并强调了const参数列表的重要性。

3814

被折叠的 条评论
为什么被折叠?



