Today I have solved the problem in javascript

 Implement a queue using a set of fixed-length arrays.


The queue should support enqueue, dequeue, and get_size operations.

const queue = FixedArrayQueue(5);
queue.enqueue(1);
queue.enqueue(2);
queue.enqueue(3);
function FixedArrayQueue(capacity) {
  const queue = new Array(capacity);
  let front = 0;
  let rear = 0;
  let size = 0;

  function isFull() {
    return size === capacity;
  }

  function isEmpty() {
    return size === 0;
  }

  function enqueue(item) {
    if (isFull()) {
      console.log("Queue is full. Cannot enqueue.");
      return;
    }

    queue[rear] = item;
    rear = (rear + 1) % capacity;
    size++;
  }

  function dequeue() {
    if (isEmpty()) {
      console.log("Queue is empty. Cannot dequeue.");
      return;
    }

    const item = queue[front];
    front = (front + 1) % capacity;
    size--;

    return item;
  }

  function get_size() {
    return size;
  }
 return {
    enqueue,
    dequeue,
    get_size,
  };
}
console.log("Queue size:", queue.get_size()); 
console.log("Dequeue:", queue.dequeue()); 
console.log("Queue size:", queue.get_size());
Output:
Queue size: 3
Dequeue: 1
Queue size: 2

Comments

Popular posts from this blog

Building a Full-Stack Student Management System with React.js and NestJS

Today I have solved the problem in javascript

Today I have solved problem in javascript