C++中priority_queue的比较函数重载的两种方式

1.定义比较函数,以函数对象形式

    这种方式使用时,需要把函数加入priority_queue的声明中去

 struct com{

  bool operator()( T &t1, T &t2)

    {

      if(t1.x != t2.x)

             return t1.x < t2.x -->按x降序

     return t1.y > t2.y   -->x相等时按y升序

 }

};

priority_queue, com>  que;

2.在结构体中重载<操作符(重载为友元函数)

class T{


public:

friend bool operator<(const T &t);

};

priority ...

你可能感兴趣的:(C++)