class Quene {
constructor() {
this.data = [];
this.front = 0;
this.rear = 0;
}
push(elm) {
this.data[this.rear] = elm;
this.rear++;
}
pop() {
if(this.isEmpty()) {
return console.error('队列已经为空了,这次操作为下溢');
}
return this.data[this.front++];
}
size() {
return this.rear - this.front;
}
isEmpty() {
return this.front === this.rear;
}
clear() {
this.front = this.rear = 0;
}
}
var q = new Quene();
q.push(1);
q.push(2);
q.size(); // 2
q.pop();
q.pop();
q.isEmpty(); // true
q.pop();// error
q.push(1);
q.push(2);
q.clear();
console.log(q.isEmpty()); // true