获取具有最高优先级队列中的元素值应该是首选。如何优先使用循环队列在C++中实现队列实现?
回答
您是否需要多个队列,每个队列都有不同的优先级?你真正想要解决的问题是什么?
队列的概念是 - 它是一个队列,队列中的下一个优先级,你应该通过弹出关闭它的队列来通过队列。使用另一个队列实现优先队列 - 无论是否循环 - 都不是最有效的事情。您可以将其作为堆或树来实现 - 有许多文章,其中包括Wikipedia on priority queues。
是的,而优先级队列是不同的http://en.wikipedia.org/wiki/Priority_queue – Falmarri 2010-12-11 19:31:52
如果我们正在讨论许多级别的优先级(例如1000),那么多个队列不是最好的解决方案。 – Dialecticus 2010-12-11 19:34:42
@Falmarri - 不确定您是否正确阅读或解读我的答案。与另一个队列建立优先队列没有任何意义 - 认为你错过了这一点。 – 2010-12-13 09:35:45
您可以将优先级队列实现为二进制最小堆。每个条目的键可以代表其“优先级”,键越低,优先级越高。因此,删除根条目将返回具有最高优先级的条目。
- 1. PHP优先队列实现
- 2. 优先队列实现
- 3. Brodal优先队列实现
- 4. 如何在C编程中实现优先队列?
- 5. 堆优先级队列实现
- 6. 实现Java的优先级队列
- 7. Java优先级队列接口实现
- 8. 队列实现C++
- 9. C#队列实现#
- 10. 在c中实现队列#
- 11. 请介绍如何使用优先级队列来实现队列
- 12. 实现可以在C++中迭代的优先级队列
- 13. 在C++中免费实现“有界优先级队列”
- 14. 在条件变量中实现一个优先级队列C
- 15. 队列实现
- 16. 如何在Dijkstra算法中实现优先级队列
- 17. 如何在Python中实现优先队列?
- 18. 如何在Omnet ++中实现cQueue作为优先级队列?
- 19. 使用C++中的链接列表实现队列实现
- 20. JMS使用Scala实现队列实现
- 21. 作为“FIFO队列”的Javascript循环缓冲区队列实现
- 22. Java类实现先进先出队列
- 23. 使用PHP实现队列
- 24. 使用堆队列实现
- 25. PHP队列实现
- 26. jms队列实现
- 27. 使用min堆实现优先级队列
- 28. CUDA on Thrust:如何实现优先队列
- 29. 优先队列C++
- 30. 在优先队列的实现中比较对象的属性
它不是按照定义的队列。改为使用堆。 – Drakosha 2010-12-11 19:33:39
有一个std :: priority_queue。 – Puppy 2010-12-11 19:53:23
似乎已经产生了一些摩擦。也许你可以添加一些背景 - 你有多少优先级;更广泛的目标是什么,或者这是一个抽象的问题;我假设你想要一个固定大小的优先队列?这可能会帮助一些评论者直接回答... – 2010-12-11 20:39:34