priority_queue的优先级问题
对于priority_queue,默认的不是小于号吗?那怎么理解这个队列里面谁的优先级高?
比如自定义比较规则
class myCompare{
public:
bool operator () (const int& a, const int& b )
{
return a > b;
}
};
变成大于号,那怎么理解这个返回的bool值,在哪用的,我不太明白实质怎么排的优先级。
比如我理解不就是如果这个数大,那返回的不是真吗?那怎么理解优先级怎么变成小的数高了?
[解决办法]
你定义的规则:--?
你是重载了() 运算符,
比如:(10,8)那么返回Ture
[解决办法]
std::priority_queue<T, vector<T>, greater<T>()> priQueueTest;
不使用priority_queue默认的比较算法less,而采用greater算法就可以了啊,然后重载你的>操作符啊!
当然你也可以传入myCompare来代替greater<T>,解决问题了记得给我加分啊!