Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #define MAX 5
- struct QUEUE
- {
- int data[MAX];
- int front, rear;
- int count;
- }q;
- int f=1;
- void print()
- {
- int i,j;
- if(q.count==0)
- {
- printf("queue is empty\n");
- }
- else
- {
- if(f!=0)
- q.front=(q.front+1)%MAX;
- printf("elements of the queue are: ");
- i=(q.front);
- j=q.count;
- while(j!=0)
- {
- printf("%d ",q.data[i]);
- i=((i++)%MAX);
- j--;
- }
- if(f!=0)
- q.front=(MAX-1);
- }
- }
- int main()
- {
- int ch,s=1;
- q.front=MAX-1;
- q.rear=MAX-1;
- q.count=0;
- do
- {
- printf("\n\n1.insert\t2.delete\t3.display\t4.exit\n enter ch: ");
- scanf("%d",&ch);
- switch(ch)
- {
- case 1:
- q.rear=((q.rear+1)%(MAX));
- if((q.rear==q.front)&&(q.count==MAX)&&(s==0))
- {
- printf("the queue is full\n");
- q.rear--;
- break;
- }
- printf("enter data \n");
- scanf("%d",&q.data[q.rear]);
- q.count++;
- if(q.rear==q.front)
- {
- q.rear--;
- s=0;
- }
- print();
- break;
- case 2:
- if(q.count==0)
- {
- printf("nothing to delete\n");
- break;
- }
- if(f!=0)
- q.front=(q.front+1)%MAX;
- s=1;
- printf("%d deleted\n",q.data[q.front]);
- f=0;
- q.count--;
- q.front=((q.front+1)%(MAX));
- print();
- break;
- case 3:
- print();
- break;
- case 4:
- break;
- }
- }while(ch!=4);
- return 0;
- }
- OUTPUT:
- 1.insert 2.delete 3.display 4.exit
- enter ch: 1
- enter data
- 2
- elements of the queue are: 2
- 1.insert 2.delete 3.display 4.exit
- enter ch: 1
- enter data
- 3
- elements of the queue are: 2 3
- 1.insert 2.delete 3.display 4.exit
- enter ch: 1
- enter data
- 4
- elements of the queue are: 2 3 4
- 1.insert 2.delete 3.display 4.exit
- enter ch: 1
- enter data
- 5
- elements of the queue are: 2 3 4 5
- 1.insert 2.delete 3.display 4.exit
- enter ch: 1
- enter data
- 6
- elements of the queue are: 2 3 4 5 6
- 1.insert 2.delete 3.display 4.exit
- enter ch: 1
- the queue is full
- 1.insert 2.delete 3.display 4.exit
- enter ch: 2
- 2 deleted
- elements of the queue are: 3 4 5 6
- 1.insert 2.delete 3.display 4.exit
- enter ch: 3
- elements of the queue are: 3 4 5 6
- 1.insert 2.delete 3.display 4.exit
- enter ch: 2
- 3 deleted
- elements of the queue are: 4 5 6
- 1.insert 2.delete 3.display 4.exit
- enter ch: 2
- 4 deleted
- elements of the queue are: 5 6
- 1.insert 2.delete 3.display 4.exit
- enter ch: 2
- 5 deleted
- elements of the queue are: 6
- 1.insert 2.delete 3.display 4.exit
- enter ch: 2
- 6 deleted
- queue is empty
- 1.insert 2.delete 3.display 4.exit
- enter ch: 2
- nothing to delete
- 1.insert 2.delete 3.display 4.exit
- enter ch: 4
- Press any key to continue
Advertisement
Add Comment
Please, Sign In to add comment