class ArrayQueue {
constructor() {
this.queue = [];
}
enqueue(value) {
this.queue.push(value);
}
dequeue() {
if (this.isEmpty()) {
throw new Error("Queue is empty");
}
return this.queue.shift();
}
peek() {
if (this.isEmpty()) {
throw new Error("Queue is empty");
}
return this.queue[0];
}
isEmpty() {
return this.queue.length === 0;
}
size() {
return this.queue.length;
}
clear() {
this.queue = [];
}
printQueue() {
console.log(this.queue.toString());
}
}
const queue = new ArrayQueue();
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
console.log(queue.peek());
console.log(queue.dequeue());
console.log(queue.isEmpty());
queue.printQueue();
queue.clear();
console.log(queue.isEmpty());