前言:这是自己试了一下,若有错误欢迎大家指正或交流
1.定义优先队列的小根堆的话,若优先队列元素是结构体,可以在结构体中重载运算符
2.然后不用另外再写出priority_queue<D, vector<D>, greater<D>> 中的vector<D>, greater<D>
(即写成默认形式即可 priority_queue<D> q;)
struct state
{
int x, y, dist;
bool operator < (const state & a) const
{
return dist > a.dist;
}
} ;
priority_queue<state> q;