Practical No: 12(Group E)
Name: Swapnil ManishKamble
Paras Chandan Suryavanshi
Class: SE
Div: C
Batch: C3
Roll No:S213074
No:S213085
Problem Statement: A double-ended queue (deque) is a linear list in which
additions and deletions may be made at either end. Obtain a data representation
mapping a deque into a one- dimensional array. Write C++ program to simulate
deque with functions to add and delete elements from either end of the deque.
Code:
#include<iostream>
using namespace std;
#define SIZE 5
class dequeue
public:
int
a[SlZE],front,rear,count;
dequeue(); void
add_at_beg(int); void
add_at_end(int); void
delete_fr_front(); void
delete_fr_rear(); void
display();
dequeue::dequeue()
front=-l; rear=-
l; count=O;
void dequeue::add_at_beg(int item)
if(count==SlZE)
cout<<"\nlnsertion is not possible,overfiow!!
return;
if(front==-l)
front=rear=O;
a[front]=item;
else
for(int i=rear;i>=front;i--)
a[front]=item;
count++;
void dequeue::add_at_end(int item)
if(count==SlZE)
cout<<"\nlnsertion is not possible,overfiow!!
return;
if(front==-l)
front=rear=O;
a[rear]=item;
else
a[++rear]=item;
count++;
void dequeue::delete_fr_front()
if(front==-l)
cout<<"\nDeletion is not possible,dequeue is empty";
return;
cout<<"\nThe deleted element is:"<<a[front];
if(front==rear)
front=rear=-l;
else
front++;
count--;
void dequeue::delete_fr_rear()
if(front==-l)
cout<<"\nDeletion is not possible ,dequeue is empty";
return;
cout<<"\nThe deleted item
if(front==rear)
front=rear=-l;
else
rear—;
count--;
void dequeue::display()
if(front==-l)
cout<<"\nDequeue is empty!" ;
return;
cout<<"\nThe elements in dequeue are: ";
for(int i=front;i<=rear;i++)
cout<<a[i]<<
cout<<endl;
int main()
int c,item;
dequeue d;
do
OPERATIONS\n";
cout<<"\[Link] at begining\n";
cout<<"\[Link] at end\n" ;
.Display\n";
cout<<"\[Link] from
front\n"; cout<<"\[Link]
from rear\n";
Exit\n" ;
cout<<"Enter your choice:";
cin>>c; switch(c)
case 1:
cout<<"Enter the element to be inserted:";
cin>>item;
d.add_at_beg(item)
; break; case 2:
cout<<"Enter the element to be inserted:";
cin>>item;
d.add_at_end(item)
; break; case 3:
[Link]()
; break;
case 4:
d.delete_fr_front()
; break; case 5:
d.delete_fr_rear()
; break; case 6:
exit(O);
default:
cout<<"lnvalid choice!";
break;
while(c!=6);
return O;
Output:-