使用 Javascript 将元素添加到 PriorityQueue
javascriptweb developmentfront end technology
将元素加入 PriorityQueue 意味着按照元素的优先级顺序将它们添加到数组中。我们认为数字越大,优先级越高。我们将循环遍历容器,直到找到优先级较低的元素,然后将元素添加到那里。如果没有,那么我们将它推到容器的末尾。
请注意,我们正在使用数据和优先级创建元素对象。因此,我们可以按如下方式实现入队函数 −
示例
enqueue(data, priority) {
// 检查队列是否已满
if (this.isFull()) {
console.log("Queue Overflow!");
return;
}
let currElem = new this.Element(data, priority);
let AddedFlag = false;
// 因为我们想要将元素添加到末尾,所以我们只需推送它们即可。
for(let i = 0; i < this.container.length; i ++) {
if(currElem.priority < this.container[i].priority) {
this.container.splice(i, 0, currElem);
addedFlag = true; break;
}
}
if (!addedFlag) {
this.container.push(currElem);
}
}
您可以使用以下方法检查此功能是否正常工作 −
示例
let q = new PriorityQueue(4);
q.enqueue("Hello", 3);
q.enqueue("World", 2);
q.enqueue("Foo", 8);
q.display();
输出
这将给出输出 −
[ { data: 'World', priority: 2 },
{ data: 'Hello', priority: 3 },
{ data: 'Foo', priority: 8 } ]
如您所见,元素已按排序顺序排列。入队函数的工作方式类似于插入排序的插入。
相关文章
有用资源
javascript 参考教程 - 该教程包含有关 javascript 的更多信息:https://www.cainiaomax.com/javascript/

