優先隊列重載運算符< 以及初始化列表

優先隊列定義
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;}
};


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章