javascript-数据结构-数组模拟队列结构
//数组模拟队列
class Queue{
#count=0;
#items=[];
enQueue(element){
//队列添加元素
this.#items.push(element)
}
deQueue(){
//移除队列的第一项并返回元素
if(this.isEmpty()){
return undefined;
}
return this.#items.shift()
}
peek(){
//返回队列的第一个元素
if(this.isEmpty()){
return undefined;
}
return this.#items[0]
}
isEmpty(){
//队列是否是空
return this.#items.length==0;
}
size(){
//返回队列的长度
return this.#items.length;
}
}
const a=new Queue()
a.enQueue(1)
a.enQueue(2)
console.log(a)
//输出 Queue{} 因为 #items or #count是Queue的私有属性
a.enQueue(3)
console.log(a.peek())
//输出是1
console.log(a.deQueue())
//输出1
console.log(a.size())
//上次操作删除了第一个元素,所以现在queue的长度是个2