Professional Documents
Culture Documents
Deque
Deque
h>
#include <limits.h>
#include <stdbool.h>
//function prototype
void IRD(void);
void ORD(void);
void insertAtFront(int);
void insertAtRear(int);
int deleteFromFront(void);
int deleteFromRear(void);
void display(void);
bool isFull(void);
bool isEmpty(void);
int getFrontMostElement(void);
int getRearMostElement(void);
switch (option)
{
case 1:
IRD();
break;
case 2:
ORD();
break;
}
return 0;
}
//insert at Rear
void insertAtRear(int item)
{
if (isFull())
{
printf("\n OVERFLOW");
return;
}
//insert at Front
void insertAtFront(int item)
{
if(isFull())
{
printf("\n OVERFLOW");
return;
}
item = deque[front];
if (front == rear)
{
front = rear = -1 ;
}
else
{
if (front == N - 1)
front = 0;
else
front = front+1;
}
return item;
}
item = deque[rear];
if (front == rear)
{
front = rear = -1;
}
else
{
if (rear == 0)
rear = N - 1;
else
rear = rear - 1;
}
return item;
}
while (f <= N - 1)
{
printf("%d ", deque[front]);
f++;
}
f = 0;
while (f <= r)
{
printf("%d ", deque[f]);
f++;
}
}