Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<conio.h>
- #include<stdio.h>
- #define max 100
- #define pf printf
- #define sf scanf_s
- typedef struct
- {
- int q[max];
- int r,f;
- }queue;
- int isempty(queue *t)
- {
- if(t->r==t->f)
- return 1;
- else
- return 0;
- }
- void insertleft(queue *t,int ele)
- {
- if(t->f==-1)
- {
- pf("\nDequeue Overflow\n");
- return ;
- }
- t->q[t->f] = ele;
- t->f--;
- return ;
- }
- void insertright(queue *t,int ele)
- {
- if(t->r==max-1)
- {
- pf("\nDequeue Overflow\n");
- return ;
- }
- t->r++;
- t->q[t->r]=ele;
- return ;
- }
- void deleteleft(queue *t)
- {
- int z;
- if(isempty(t))
- {
- pf("\nDequeue Underflow\n");
- return ;
- }
- z = t->q[t->f+1];
- t->f++;
- pf("\nDeleted element is %d",z);
- return ;
- }
- void deleteright(queue *t)
- {
- int z;
- if(isempty(t))
- {
- pf("\nDequeue Underflow\n");
- return ;
- }
- z = t->q[t->r];
- t->r--;
- pf("\nDeleted element is %d",z);
- return ;
- }
- void display(queue *t)
- {
- int i;
- if(isempty(t))
- {
- pf("\nDequeue is empty\n");
- return ;
- }
- pf("\nElements of Dequeue is given Below\n");
- for(i=t->f+1;i<=t->r;i++)
- {
- pf("%d\t",t->q[i]);
- }
- return ;
- }
- int main()
- {
- int ch,ele;
- queue x;
- x.r=x.f=max/2;
- pf("\nIMPLEMENTATION OF DEQUEUE\n");
- while(1)
- {
- pf("Enter Choice \n1.Insertleft 2.Insertright 3.Deleteleft 4.Deleteright 5.Display 6.exit\t");
- sf("%d",&ch);
- if(ch==6)
- break;
- else
- {
- switch(ch)
- {
- case 1:pf("\nEnter element to be insert\n");
- sf("%d",&ele);
- insertleft(&x,ele);
- break;
- case 2:pf("\nEnter element to be insert\n");
- sf("%d",&ele);
- insertright(&x,ele);
- break;
- case 3:deleteleft(&x);
- break;
- case 4:deleteright(&x);
- break;
- case 5:display(&x);
- break;
- default:pf("\nInvalid choice\n");
- }
- }
- }
- _getch();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement