STL中用优先队列如何指定队列初始大小
priority_queue<int,vector<int>,less<int>>q;我已知数据范围的大小,想开一个大一点的vector用于实现优先队列,请问我应该怎么做...
priority_queue<int,vector<int>,less<int> >q;
我已知数据范围的大小,想开一个大一点的vector用于实现优先队列,请问我应该怎么做? 展开
我已知数据范围的大小,想开一个大一点的vector用于实现优先队列,请问我应该怎么做? 展开
2个回答
2011-07-19
展开全部
if two messages have the same priority, the one comes first will be processed first.
原题规定,优先级相同时,先进队列的先出来。你的operator<只比较了优先级,没反应出进队列的先后。建议给每个Info结构增加一个id成员,push进去时赋一个值,此值自增。扩充operator<,优先级相同时比较id
我不知道问题是否出在这,我瞎猜的,我不是高手。
原题规定,优先级相同时,先进队列的先出来。你的operator<只比较了优先级,没反应出进队列的先后。建议给每个Info结构增加一个id成员,push进去时赋一个值,此值自增。扩充operator<,优先级相同时比较id
我不知道问题是否出在这,我瞎猜的,我不是高手。
追问
我的问题不是这个。我是想开一个很大的vector作为优先队列的容器,避免vector增长的代价。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询