circular queue simplified
circular queue simplified
h>
#define SIZE 5
int items[SIZE];
int front = -1, rear = -1;
// Adding an element
void enQueue(int element) {
if (isFull()) {
printf("\nQueue is full!!\n");
return;
}
if (front == -1) front = 0; // First element being added
rear = (rear + 1) % SIZE;
items[rear] = element;
printf("\nInserted -> %d", element);
}
// Removing an element
int deQueue() {
if (isEmpty()) {
printf("\nQueue is empty!!\n");
return -1;
}
int element = items[front];
if (front == rear) {
front = rear = -1; // Reset if queue becomes empty
} else {
front = (front + 1) % SIZE;
}
printf("\nDeleted element -> %d\n", element);
return element;
}
int main() {
enQueue(10);
enQueue(20);
enQueue(30);
display();
deQueue();
display();
enQueue(40);
enQueue(50);
enQueue(60); // Should indicate the queue is full
display();
return 0;
}