优先队列重载运算符< 以及初始化列表

优先队列定义
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;}

};

 

posted @ 2017-04-29 15:35  Neord  阅读(283)  评论(0编辑  收藏  举报