You are on page 1of 21

Assignment No 2

Ms. Ashwini Abhale

Implement Circular Queue using


array
and
perform
following
operations on it

Add a record
Delete a record
Checking empty
Checking underflow
Checking overflow

Circular Queue with size 5


Front
=-1
Rear=
-1

Add a record from rear


end
delete a record from
front end

Checking empty
if(Front =-1)
return 1;
return 0;

Front
=-1
Rear=
-1

0
1

Add a first record


enqueue(10)
if(Front =-1)
{
front=0;
Rear=0;
}

Data[rear]=1
0;

F R

0
1
4

Add a next record


enqueue(5)

if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
R

1
4

Rear=(Rear+1)%MAX
3
}
Data[rear]=5;

Enqueue(42)
if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
1
4

Rear=(Rear+1)%MAX
3
}
Data[rear]=42;

Enqueue(78)
if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
1
4

Rear=(Rear+1)%MAX
3
}
Data[rear]=78;

enqueue(89)
if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
R

Rear=(Rear+1)%MAX
3
}
Data[rear]=89;

FULL
F

if((rear+1)%MAX ==
Front)
{
return 1;
4
}

0
R

return 0;
3

Delete record - dequeue


x=data[front];
//last element
if(rear==front)
{
4
rear=-1;
front=-1;
}
else
{

0
F
R

front=(front+1)%MAX
}

Delete record - dequeue


x=data[front];
//last element
if(rear==front)
{
4
rear=-1;
front=-1;
}
else
{

0
1

front=(front+1)%MAX
}

Delete record - dequeue


x=data[front];
//last element
if(rear==front)
{
4
rear=-1;
front=-1;
}
else
{

0
1

front=(front+1)%MAX
}

Delete record - dequeue


x=data[front];
//last element
if(rear==front)
{
4
rear=-1;
front=-1;
}
else
{

0
R

front=(front+1)%MAX
}

Enqueue(99)
if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
F

1
4

Rear=(Rear+1)%MAX
3
}
Data[rear]=78;

Enqueue(55)
if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
F

1
4

Rear=(Rear+1)%MAX
3
}
Data[rear]=78;

Enqueue(35)
if(Front =-1)
{
Front=0;
Rear=0;
}
else
{

0
F

1
4

Rear=(Rear+1)%MAX
3
}
Data[rear]=78;

Dequeue()
x=data[front];
//last element
if(rear==front)
{
rear=-1;
front=-1;
4
}
else
{

0
1

3
front=(front+1)%MAX
}
R

Dequeue()
x=data[front];
//last element
if(rear==front)
{
rear=-1;
front=-1;
4
}
else
{

0
F

3
front=(front+1)%MAX
}
R

Dequeue()
x=data[front];
//last element
if(rear==front)
{
rear=-1;
front=-1;
4
}
else
{

0
1

3
front=(front+1)%MAX
}
R

Dequeue() last element


x=data[front];
//last element
if(rear==front) Front
=-1
{
Rear=
rear=-1;
-1
front=-1;
4
}
else
{
3
front=(front+1)%MAX
}

0
1

You might also like