当前位置: 首页 > Web前端 > JavaScript

JavaScript数据结构与算法-优先队列

时间:2023-03-27 01:28:26 JavaScript

场景类似生活中优先队列的场景:先排队的先处理。(买票、结账、上厕所)。在队列中,有紧急情况(特殊情况)的可以优先安排。优先级队列优先级队列的主要考虑:每个元素不再只是一条数据,还包含优先级。在添加元素的过程中,按照优先级将它们放在正确的位置。优先级队列实现代码实现类QueueElement{constructor(element,priority){this.element=elementthis.priority=priority}}//优先级队列类exportclassPriorityQueueextendsQueue{constructor(){super();}//enqueue(element,priority)入队,并根据优先级向队列中添加元素enqueue(element,priority){//根据传入的元素创建一个QueueElement对象constqueueElement=newQueueElement(element,priority);//判断队列是否为空if(this.isEmpty()){//如果为空,不需要判断优先级,直接加上this.items.push(queueElement);}else{//定义一个变量记录新元素是否添加成功letadded=false;for(leti=0;i