如何在C ++中使用循环队列优先实现队列实现?

时间:2010-12-11 19:24:41

标签: c++ data-structures queue

首选获取具有最高优先级的队列中的元素值。

2 个答案:

答案 0 :(得分:0)

您是否需要多个队列,每个队列都有不同的优先级?你实际上试图解决的问题是什么?

队列的想法是 - 它是一个队列,队列中的下一个队列具有优先级,你只能通过弹出队列来完成队列。使用另一个队列实现优先级队列 - 无论是否循环 - 不是最有效的事情。您可以将其实现为堆或树 - 有许多文章,包括Wikipedia on priority queues上的文章。

答案 1 :(得分:0)

您可以将优先级队列实现为二进制最小堆。每个条目的键可以表示其“优先级”,键越低,它的优先级越高。因此,删除根条目将返回具有最高优先级的条目。