窥视PriorityQueue意味着获取具有最高优先级的值而不删除它。因此我们可以如下实现偷看功能
peek() {
if (isEmpty()) {
console.log("队列下溢!");
return;
}
return this.container[this.container.length - 1];
}您可以使用以下命令检查此功能是否工作正常:
let q = new PriorityQueue(4);
q.enqueue("Hello", 3);
q.enqueue("World", 2);
q.enqueue("Foo", 8);
console.log(q.peek());
q.display();输出结果
这将给出输出-
{ data: 'Foo', priority: 8 }
[ { data: 'World', priority: 2 },
{ data: 'Hello', priority: 3 },
{ data: 'Foo', priority: 8 } ]正如您在此处看到的,它peek()与出队不同,因为它仅返回前值而不删除它。