Queue using array
2) Queue using Array
Aim
To implement queue operations (Enqueue, Dequeue, Display) using arrays in C.
Objective
To study the FIFO (First In, First Out) principle.
To practice array-based implementation of data structures.
Algorithm
Enqueue:
If rear == n-1, then overflow.
Else rear = rear + 1 and queue[rear] = item.
If front == -1, set front = 0.
Dequeue:
If front == -1, underflow.
Else delete queue[front], then front = front + 1.
If front > rear, reset front = rear = -1.
Display:
If empty, print message.
Else print from queue[front] to queue[rear].
Flowchart
C Code (Queue using Array)
#include <stdio.h>
#define MAX 5
int main() {
int queue[MAX], front = -1, rear = -1;
int choice, item, i;
while (1) {
printf("\n--- Queue Menu ---\n");
printf("1. Enqueue\n2. Dequeue\n3. Display\n4. Exit\n");
printf("Enter choice: ");
scanf("%d", &choice);
if (choice == 1) {
if (rear == MAX - 1)
printf("Queue Overflow!\n");
else {
printf("Enter item to enqueue: ");
scanf("%d", &item);
if (front == -1) front = 0;
rear++;
queue[rear] = item;
}
}
else if (choice == 2) {
if (front == -1)
printf("Queue Underflow!\n");
else {
printf("Dequeued: %d\n", queue[front]);
front++;
if (front > rear)
front = rear = -1;
}
}
else if (choice == 3) {
if (front == -1)
printf("Queue is Empty!\n");
else {
printf("Queue elements: ");
for (i = front; i <= rear; i++)
printf("%d ", queue[i]);
printf("\n");
}
}
else if (choice == 4) {
printf("Exiting...\n");
break;
}
else {
printf("Invalid choice!\n");
}
}
return 0;
}
Comments
Post a Comment