在优先级队列中,根据队列的优先级从队列中插入和删除元素,并在编写任何优先级队列的元素的插入和删除代码时;插入和删除是根据元素的优先级完成的。
假设你有一个元素为1,5,6的队列,元素的优先级是元素本身的值,现在需要插入一个优先级为3的元素;然后将元素插入到队列中的第二个位置,给出新的队列1,3,5,6。
但队列被定义为一种数据结构,其中元素可以在末尾插入并在开头但不在中间删除,但在上面描述的case元素插入第二个位置(即在队列中间)。那么如果优先级队列不服从队列的定义那么优先级队列真的是队列吗?
请解释一下。
答案 0 :(得分:0)
优先级队列在某个意义上是“队列”,因为元素在轮流中等待。它们不是Queue
抽象数据类型的子类型。
答案 1 :(得分:0)
队列的特征在于一种信息结构,其中组件可以在关闭时嵌入并在开始时擦除但不在中心,但是在上面描述的情况下,组件嵌入在第二区域(即在队列中)。 / p>
答案 2 :(得分:0)
是的,优先级队列仍然是一个队列,因为项目按照它们在队列中的顺序进行服务。但是,在这种情况下,优先级与每个项目相关联,并相应地提供服务。
答案 3 :(得分:0)
优先级队列是英文单词queue意义上的队列,而不是名为' queue'的其他数据结构的严格子类型。那里没有继承,它们只是描述其目的的名称。