0% found this document useful (0 votes)
35 views

Assignment No 07

The document presents a C++ program that simulates a circular queue. The program defines a queue class with methods for enqueue, dequeue, display, and checking if the queue is full or empty. Main runs a loop prompting the user for choices to test the queue methods.

Uploaded by

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

Assignment No 07

The document presents a C++ program that simulates a circular queue. The program defines a queue class with methods for enqueue, dequeue, display, and checking if the queue is full or empty. Main runs a loop prompting the user for choices to test the queue methods.

Uploaded by

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

Assignment no 07

Name :Aditya Sunil Jain


Roll no: 06

Problem statement:Write a C++ program for simulating circular queue.


#include<iostream>
using namespace std;
class queue
{
int q[5],f,r;
public:
queue()
{
f=-1;
r=-1;
}
int isfull();
int isempty();
void enq();
void display();
void deq();
};
int queue::isfull()
{
if(f==0 && r==4 || f==r+1)
{
return 1;
}
else
{
return 0;
}
}
int queue::isempty()
{
if(f==-1 && r==-1)
{
return 1;
}
else
{
return 0;
}
}
void queue::enq()
{
int x;
cout<<"enter the val to insert"<<endl;
cin>>x;
if(f==-1 && r==-1)
{
f=(f+1)%5;
r=(r+1)%5;
q[r]=x;
}
else
{
r=(r+1)%5;
q[r]=x;
}
}
void queue::display()
{
int i;
if(isempty())
{
cout<<"queue is empty"<<endl;
}
else
{

for(i=f;i!=r;i=(i+1)%5)
{
cout<<q[i]<<endl;
}
cout<<q[i]<<endl;
}
}
void queue::deq()
{
int x;
cout<<"deleted element "<<q[f]<<endl;
if(f==r)
{
f=-1;
r=-1;
}
else
{
f=(f+1)%5;
}
}
int main()
{
queue ob;
int ch;
while(1)
{
cout<<"1.enqueue "<<endl;
cout<<"2.display "<<endl;
cout<<"3.dequeue "<<endl;
cout<<"enter your choice "<<endl;
cin>>ch;
switch(ch)
{
case 1:
if(ob.isfull())
{
cout<<"queue is full cannot enqueue"<<endl;
}
else
{
ob.enq();
}
break;

case 2:
if(ob.isempty())
{
cout<<"queue is empty cannot display"<<endl;
}
else
{
ob.display();
}
break;
case 3:
if(ob.isempty())
{
cout<<"the queue is empty cannot deque"<<endl;
}
else
{
ob.deq();
}
break;

default:
cout<<"youve entered the wrong choice "<<endl;
}
}
return 0;
}
OUTPUT:
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
10
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
20
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
30
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
40
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
50
1.enqueue
2.display
3.dequeue
enter your choice
1
queue is full cannot enqueue
1.enqueue
2.display
3.dequeue
enter your choice
2
10
20
30
40
50
1.enqueue
2.display
3.dequeue
enter your choice
3
deleted element 10
1.enqueue
2.display
3.dequeue
enter your choice
3
deleted element 20
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
60
1.enqueue
2.display
3.dequeue
enter your choice
1
enter the val to insert
70
1.enqueue
2.display
3.dequeue
enter your choice
2
30
40
50
60
70

You might also like