JSFiddle - React, Tailwind, and code Playground

by samneo

JavaScript

//Queues
//Allow only a single item to be added or removed at a time 
//Queues allow access to the first item inserted (FIFO)

function Queues(size){
    var rear = -1;
    var front = 0;
    var queueArray = [];
    var queueSize = size;
    
    var remove = function(){
        if(rear >= 0){
            queueArray[front] = "-1";
            front++;
            display('remove');
        }
    }
    
    var insert = function(el){
        rear++;
        queueArray[rear] = el;
        display('insert');
    }
    
    var peek = function(){
        var el = queueArray[front]
        display('peek');
        return el;
    }
    
    var display = function(meth){
        console.log('queueArray : '+meth+' : ',queueArray);
    }
    
    return {
        remove:remove,
        insert:insert,
        peek:peek
    }
}

var q1 = Queues();

q1.insert('10');
q1.insert('11');
q1.insert('12');