请描述如何使用优先级队列来实现队列
Please describe how to use a priority queue to implement a queue
我不明白这个问题....
请描述如何使用优先级队列来实现队列。
我只是简单地指定优先级作为进入时间吗?由于队列是先进先出的,所以我会最小化优先级,所以最早的时间排在第一位?
使用时间作为优先键是一种方法。但是要小心,使用外部不会改变的时间。在夏令时切换期间将时钟调慢一个小时时,您不会希望使用当地时间。
您也可以从 0 开始一个整数计数器,并随着您添加到队列中的每个项目递增它。
理论上,您可以为每个项目赋予相同的优先级,但在实践中,这最终可能会像一个堆栈。这取决于您的优先级队列实现如何处理相同的项目。例如,如果实现是二叉堆,它可以插入相同的项目作为新的最小项目。所以你最终会得到后进先出法。
我不明白这个问题....
请描述如何使用优先级队列来实现队列。
我只是简单地指定优先级作为进入时间吗?由于队列是先进先出的,所以我会最小化优先级,所以最早的时间排在第一位?
使用时间作为优先键是一种方法。但是要小心,使用外部不会改变的时间。在夏令时切换期间将时钟调慢一个小时时,您不会希望使用当地时间。
您也可以从 0 开始一个整数计数器,并随着您添加到队列中的每个项目递增它。
理论上,您可以为每个项目赋予相同的优先级,但在实践中,这最终可能会像一个堆栈。这取决于您的优先级队列实现如何处理相同的项目。例如,如果实现是二叉堆,它可以插入相同的项目作为新的最小项目。所以你最终会得到后进先出法。