先是代码:
struct point{
int x;
int y;
int times;
friend bool operator < (point a, point b)
{
return a.times > b.times; //重载小于号使得小的先出队列
}
};
在此处定义一个优先队列priority_queue<point> q;
如果要按照以times进行从小到大排列,操作如上。
进行重载<操作符。
意思是如果a.times > b.times成立,那么结构体point a < point b成立。由于优先队列是按照从大到小排列,所以结构体b会排列到a之前,然而b.times是最小的,所以实现了按照times的从小到大排序。。。。
其实用一句话说就是要想b更大那么b.times最小就好辣~~~~(>_<)~~~~说到底都是因为自己技术不到位辣=。=