priority_queue<int,vector<int>, greater<int> >pq;
優先隊列重載<運算符
在結構體中定義一個
friend bool operator<(node n1,node n2)
return n1.elem>n2.elem;
這是根據node結構體中的elem升序構建的一個操作符
如果想要降序就把>換成<
初始化列表
struct heap {
int id;
int dist;
heap () {}
heap (int _id, int _dist) : id(_id), dist (_dist) {}
bool operator < (const heap&a) const
{return dist >a.dist;}
};