Queue
by Nidhi Patel
JavaScript
class Node {
constructor(value) {
this.value = value;
this.next = null;
}
}
class Queue {
constructor(value) {
this.first = null,
this.second = null;
this.length = 0;
}
peek() {
return this.first;
}
enqueue(value) {
const queueNode = new Node(value);
if (this.length === 0) {
this.first = queueNode
this.second = queueNode
} else {
this.second.next = queueNode;
this.second = queueNode
}
this.length++;
return this;
}
dequeue() {
if(!this.first){
return null;
}
if (this.length === 1) {
this.last = null;
}
this.first = this.first.next;
this.length--;
return this;
}
}
const queue = new Queue();
queue.enqueue('Nidhi');
queue.enqueue('bhai');
queue.enqueue('Rutu');
console.log(queue);
queue.dequeue();
console.log(queue);