javascript-数据结构-队列-对象模拟
class Queue{
#count=0
#lastCount=0
#items={}
peek(){
//返回队列第一个元素
return this.#items[this.#lastCount]
}
isEmpty(){
//队列是否为空
return this.#count==0
}
size(){
//队列的长度
return this.#count-1
}
enQueue(element){
//队列新增元素
this.#items[this.#count]=element
this.#count++
}
deQueue(){
//返回队列第一个元素并删除
if(this.isEmpty()){
return undefined
}
let result=this.#items[this.#lastCount]
delete this.#items[this.#lastCount]
this.#lastCount++
return result
}
}
const a=new Queue()
a.enQueue(1)
a.enQueue(2)
a.enQueue(3)
console.log(a)
//输出 Queue {}
console.log(a.peek())
//输出 1
console.log(a.isEmpty())
//输出 false
console.log(a.size())
//输出 3
a.deQueue()
console.log(a.size())
//输出 2
a.enQueue(4)
console.log(a.peek())
//输出2
console.log(a.size())
//输出 3