请描述如何使用优先级队列来实现队列

时间:2016-09-25 23:46:46

标签: queue priority-queue

我不明白这个问题......

请描述如何使用优先级队列来实现队列。

我只是将优先级指定为入会时间吗?并且由于队列是fifo,我会优先考虑,以便最早的时间到来?

1 个答案:

答案 0 :(得分:0)

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

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

理论上,你可以给每个项目提供相同的优先级,但在实践中,最终可能会像堆栈一样。这取决于优先级队列实现如何处理相同的项目。例如,如果实现是二进制堆,则可以将相等项插入为新的最小项。所以你最终得到了LIFO。