队列 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实现【队列】插队功能内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复