首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

priority_queue的优先级有关问题

2012-09-29 
priority_queue的优先级问题对于priority_queue,默认的不是小于号吗?那怎么理解这个队列里面谁的优先级高?

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>,解决问题了记得给我加分啊!

热点排行