#include #include #define MAX 5 char queue[MAX][30]; int front, rear, temp; void init() { front = rear = -1; } int condition() { if (rear == front) { front = rear = -1; return 1; } else return 0; } void insert() { //if (rear >= MAX-1) // { // printf("\nQueue overflow"); // return; // } temp = rear; rear = (rear + 1) % MAX; if (condition()) { rear = temp; printf("\nQueue overflow"); } else { printf("\nEnter name to be inserted :\n"); scanf("%s",queue[rear]); } } void delete() { if (condition()) printf("\nError : Underflow"); else { front = (front + 1) % MAX; printf("\nDeleted name from the CQ is %s",queue[front]); } } void display() { int i; printf("\nThe queue content is :\n"); if (front > rear) { for (i = front + 1; i < MAX; i++) printf("%s\t",queue[i]); for (i = 0; i <= rear; i++) printf("%s\t",queue[i]); } else for (i = front + 1; i <= rear; i++) printf("%s\t",queue[i]); printf("\n"); } int main() { int choice; init(); while(1) { printf("\nMENU\n1. Insert\n2. Delete\n3. Display\n4. Exit\n"); printf("\nYour choice = ?"); scanf("%d",&choice); switch(choice) { case 1: insert(); break; case 2: delete(); break; case 3: if (condition()) printf("\nNo elements in the list"); else display(); break; case 4: exit(0); default: printf("Invalid Choice"); } } return 0; }