Write a menu driven program using ‘C’ for static implementation of Circular Queue for characters. The menu includes
– Insert
– Delete
– Display
– Exit
Source Code
OUTPUT:
– Insert
– Delete
– Display
– Exit
Source Code
#include #define max 5 int front, rear; char q[max]; void enqueue(void); void dequeue(void); void qdisplay(void); void main(void) { int c; clrscr(); front = rear = -1; do { printf(“1: insert\ n2: deletion\ n3: display\ n4: exit\ nenter choice: ”); scanf(“ % d”, & c); switch (c) { case 1: enqueue(); break; case 2: dequeue(); break; case 3: qdisplay(); break; case 4: printf(“pgm ends\ n”); break; default: printf(“wrong choice\ n”); break; } } while (c != 4); getch(); } void enqueue(void) { char x; if ((front == 0 && rear == max - 1) || (front == rear + 1)) //condition for full Queue { printf(“Queue is overflow\ n”); return; } if (front == -1) { front = rear = 0; } else { if (rear == max - 1) { rear = 0; } else { rear++; } } printf(“enter the character\ n”); flushall(); scanf(“ % c”, & x); q[rear] = x; printf(” % c succ.inserted\ n”, x); return; } void dequeue(void) { char y; if (front == -1) { printf(“q is underflow\ n”); return; } y = q[front]; if (front == rear) { front = rear = -1; } else { if (front == max - 1) { front = 0; } else { front++; } } printf(“ % c succ.deleted\ n”, y); return; } void qdisplay(void) { int i, j; if (front == rear == -1) { printf(“q is empty\ n”); return; } printf(“elements are: \n”); for (i = front; i != rear; i = (i + 1) % max) { printf(“ % c\ n”, q[i]); } printf(“ % c\ n”, q[rear]); return; }
OUTPUT:
1:insert
2:deletion
3:display
4:exit
enter choice:1
enter the no:
a
a succ. inserted
1:insert
2:deletion
3:display
4:exit
enter choice:1
enter the no:
b
b succ. inserted
1:insert
2:deletion
3:display
4:exit
enter choice:1
enter the no:
c
c succ. inserted
1:insert
2:deletion
3:display
4:exit
enter choice:3
elements are :
a
b
c
1:insert
2:deletion
3:display
4:exit
enter choice:2
a succ. deleted
1:insert
2:deletion
3:display
4:exit
enter choice:3
elements are :
b
c
1:insert
2:deletion
3:display
4:exit
enter choice:4
0 comments:
Post a Comment