概述
队列 FIFO
队列:先入先出
主要实现以下方法:
enqueue 入列
dequeue 出列
front 返回第一个元素
isEmprty 返回是否为空
size 长度
具体实现方式如下:
let Queue = (
function(){
const _item = new WeakMap()
class QueueElement {
constructor(element,priority){
this.element = element
this.priority = proiority // 优先级
}
}
return class Queue {
constructor() {
_item.set(this,[])
}
enqueue(element,priority){
let queueElement = new QueueElement(element,priority)
let isAdd = false
// 根据优先级追加
for(var i = 0; i < _item.get(this).length; i++){
if(queueElement.priority < _item.get(this)[i].priority) {
_item.get(this).splice(i,0,queueElement)
isAdd = true
break
}
}
if(!isAdd){
_item.get(this).push(queueElement)
}
}
dequeue(){
return _item.get(this).shift()
}
front(){
return _item.get(this)[0]
}
isEmprty(){
return _item.get(this).length === 0
}
size(){
return _item.get(this).length
}
}
)()
最后
以上就是威武电源为你收集整理的JS实现【队列】插队功能的全部内容,希望文章能够帮你解决JS实现【队列】插队功能所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复