Quick actions

cmd+k|ctrl+k

Navigation

Languages

Implementation of queue using linked list

Snippet info

Language

JavaScript

Visibility

public

Author

dhamankovachi1

Created

2023-11-06T10:50:46.758583Z

Updated

2023-11-06T10:53:48.111091Z

class Node{
    constructor(value){
        this.value=value;
        this.next=null;
    }
}

class Queue{
    constructor(){
        this.first=null;
        this.last=null;
        this.length=0;
    }
    
    peek(){
        return this.first;
    }
    
    enqueue(value){
        const newNode= new Node(value);
        if(this.length===0){
            this.first=newNode;
            this.last=newNode;
        }else{
            this.last.next=newNode;
            this.last=newNode;
        }
        this.length++;
        return this
    }
    
    dequeue(){
        if(!this.first){
            return null
        }
        if(this.first===this.last){
            this.last=null;
        }
        const holdingPointer=this.first;
        this.first=this.first.next;
        this.length--;
        return this;
    }
}

const q = new Queue()
q.enqueue(4)
q.enqueue(5)
q.enqueue(6)
q.dequeue()
q.dequeue()
q.dequeue()
INFO