请介绍如何使用优先级队列来实现队列

问题描述:

我不明白这个问题....请介绍如何使用优先级队列来实现队列

请介绍如何使用优先级队列来实现的队列。

我是否简单地将优先级指定为入口时间?而且由于队列是fifo,我会优先考虑优先级,所以最早的时间先到?

+0

看起来你并没有试图自己回答这个问题。我只是谷歌'如何使用优先级队列来实现一个队列',并得到这个:http://pages.cs.wisc.edu/~vernon/cs367/notes/11.PRIORITY-Q.html。本网站不是Google。 – esote

+0

我看了这个...... – Math4Life

使用时间作为优先键是一种方法。但是,要小心使用不会外部改变的时间。如果在夏令时开关期间将时钟设置为一小时,则不希望使用本地时间。

您也可以在0处启动一个整数计数器,并将其添加到您添加到队列中的每个项目中。

从理论上讲,你可以给每个项目同样的优先权,但实际上最终可能会像堆栈一样。这取决于您的优先级队列实现如何处理相同的项目。例如,如果实现是一个二进制堆,它可以插入相等的项目作为新的最小项目。所以你最终会得到LIFO。