You are on page 1of 2

Name of the Program:week4a

Week 4:Write C programs to implement a double ended queue ADT using arrays
#include<stdio.h>
#include<stdlib.h>
# define SIZE 6
int a[SIZE],data,front=-1,rear=-1,count;
void enqueuerear()
{
if(front==-1)
{
front++;
rear++;
printf("\n enter element to insert");
scanf("%d",&a[rear]);
count++;
}
else if(rear>=SIZE-1)
{
printf("\nInsertion is not
possible,overflow!!!\n");
return;
}
else
{
printf("\n enter element to insert");
scanf("%d",&a[++rear]);
count++;
}
}
void enqueuefront()
{
int i;
if(front==-1)
{
front++;
rear++;
printf("\n enter element to insert");
scanf("%d",&a[rear]);
count++;
}
else if(rear>=SIZE-1)
{
printf("\nInsertion is not
possible,overflow!!!!\n");
return;
}
else
{
for(i=count;i>0;i--)
a[i]=a[i-1];

printf("\n enter element to insert");


scanf("%d",&a[i]);
count++;
rear++;
}
}
void dequeuerear()
{
if(front==-1)
{
printf("Deletion is not possible:Dequeue
is empty\n");
return;
}
else
printf("\nThe deleted element is %d
",a[rear]);
if(front==rear)
front=rear=-1;
else
rear=rear-1;
}
void dequeuefront()
{
if(front==-1)
{
printf("Deletion is not possible:: Dequeue
is empty\n");
return;
}
else
printf("The deleted element is %d
",a[front]);
if(front==rear)
front=rear=-1;
else
front=front+1;
}
void display()
{
int i;
if(front==-1)
{
printf("queue empty\n");
return;
}
for(i=front;i<=rear;i++)

Name of the Program:week4a


printf("%d \t",a[i]);
}
int main()
{
int ch;
printf("1.enquerear\n2-enquefront\n3dequerear\n4-dequefront\n5-display\n6exit\n");
while(1)
{
printf("enter yr choice");
scanf("%d",&ch);
switch(ch)
{
case 1:enqueuerear();
break;
case 2:enqueuefront();
break;
case 3:dequeuerear();
break;
case 4:dequeuefront();
break;
case 5:display();
break;
case 6:exit(0);
}
}
}

4-dequefront
5-display
6-exit
enter yr choice1
enter element to insert30
enter yr choice1
enter element to insert40
enter yr choice1
enter element to insert50
enter yr choice2
enter element to insert20
enter yr choice2
enter element to insert10
enter yr choice2
enter element to insert5
enter yr choice2
Insertion is not possible,overflow!!!!
enter yr choice5
5
10
20
30
40
50
enter yr
choice3
The deleted element is 50 enter yr choice3
The deleted element is 40 enter yr choice3

Output:
$ ./a.out
1.enquerear
2-enquefront
3-dequerear

The deleted element is 30 enter yr choice4


The deleted element is 5 enter yr choice4
The deleted element is 10 enter yr choice4
The deleted element is 20 enter yr choice4
Deletion is not possible:: Dequeue is empty
enter yr choice6

You might also like