[go: up one dir, main page]

0% found this document useful (0 votes)
32 views8 pages

Practical No.12

Uploaded by

Paras Kamble
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views8 pages

Practical No.12

Uploaded by

Paras Kamble
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

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<<"\nl.lnsert at begining\n";
cout<<"\n2.lnsert at end\n" ;
.Display\n";
cout<<"\n4.Deletion from
front\n"; cout<<"\n5.Deletion
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:
d.display()
; 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:-

You might also like