JSFiddle - React, Tailwind, and code Playground
by Diana Lemen
JavaScript
const array = [];
let frontPoint = -1;
let backPoint = -1;
const maxQueueSize = 10;
const minQueueSize = 0;
const customQueue = (element) => {
if (array.length === minQueueSize) {
frontPoint = ++frontPoint;
}
if (array.length === maxQueueSize) {
console.log('Queue is full');
return;
}
backPoint = ++backPoint;
array[backPoint] = element;
}
const customDequeue = () => {
if (frontPoint > backPoint || (frontPoint === -1 && backPoint === -1)) {
frontPoint = - 1;
backPoint = -1;
console.log('Queue is empty');
return;
}
const deletedElem = array[frontPoint];
array[frontPoint] = null;
frontPoint = ++frontPoint;
return deletedElem;
}
customQueue(1);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(2);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(3);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(4);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(5);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(6);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(7);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(8);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(9);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(10);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(11);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
customQueue(12);
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
console.log('deleted Elem ', customDequeue());
console.log('array', array, 'frontPoint', frontPoint, 'backPoint', backPoint);
console.log('deleted Elem ',...