Queue Implementation in C
#include <stdio.h>
#define SIZE 5 // maximum size of queue
int queue[SIZE];
int front = -1, rear = -1;
// Function to insert (enqueue) an element
void enqueue(int value) {
if (rear == SIZE - 1) {
printf("Queue Overflow! Cannot insert %d\n", value);
} else {
if (front == -1) front = 0; // set front to 0 on first insertion
rear++;
queue[rear] = value;
printf("%d inserted into queue.\n", value);
}
}
// Function to remove (dequeue) an element
void dequeue() {
if (front == -1 || front > rear) {
printf("Queue Underflow! Cannot remove element.\n");
} else {
printf("%d removed from queue.\n", queue[front]);
front++;
}
}
// Function to display the queue
void display() {
if (front == -1 || front > rear) {
printf("Queue is empty.\n");
} else {
printf("Queue elements are: ");
for (int i = front; i <= rear; i++) {
printf("%d ", queue[i]);
}
printf("\n");
}
}
int main() {
enqueue(10);
enqueue(20);
enqueue(30);
display();
dequeue();
display();
enqueue(40);
enqueue(50);
enqueue(60); // will cause overflow
display();
return 0;
}