Queue Implementation using Singly Linked List

Run Settings
LanguageJavaScript
Language Version
Run Command
class Node{ constructor(val){ this.value=val; this.next=null; } } class Queue{ constructor(val){ this.first = null; this.last=null; this.length=0; } enqueue(val){ const node = new Node(val); if(!this.last){ this.first = node; this.last=this.first; }else{ this.last.next = node; this.last=node; } this.length++; return this; } dequeue(){ if(this.first){ this.first = this.first.next; this.length--; if (this.length===0){ this.last = null; } } return this; } peek(){ return this.first; } } const myQueue = new Queue(); console.log(myQueue.enqueue(1)); console.log(myQueue.enqueue(5)); console.log(myQueue.peek()); console.log(myQueue.dequeue()); console.log(myQueue.dequeue());
Editor Settings
Theme
Key bindings
Full width
Lines