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
Post a Comment