DSA Circular Queues
DSA Circular Queues
BR,
ASSiqnment
A to
Theoyi
A Queue FTFo (First-In,first- Out )
aci
f
The apenahon s.
(r1 Enqveue
oeavue
element S
en
onchor
te
PAGE NO
DATE
koDequee. frot
em
20
30
20
2)Dequr
is e p y As
f u r clus en wowd be
20 0
3)0iSpay:
tu ciseley
tt Timc corle
Enqueue
Daa
Ves. ef pCs Pnu and
USe ndtad UnderS Lol-
eo ahi obieev tollowing The
ConcuSion:
S21_100_VedantPatil
Code:
#include<stdio.h>
#include<conio.h>
struct queues
{
int arr[10];
int front;
int rear;
};
void enqueue();
void dequeue();
void display();
struct queues q1;
void main()
{
int n;
int choice;
q1.front=-1;
q1.rear=-1;
do
{
printf("1.AddElement\n2.RemoveElement\n3.Display\nEnter choice to be performed:
");
scanf("%d",&choice);
switch(choice)
{
case 1://Add elements
printf("Enter the number to be added: ");
scanf("%d",&n);
enqueue(n);
break;
case 2://Remove elements
dequeue();
break;
case 3://Display elements
display();
break;
default:
printf("Invalid choice");
break;
}
}while(choice<4);
void enqueue(int x)
S21_100_VedantPatil
{
if ((q1.rear + 1) % 10 == q1.front)
{
printf("Queue is full");
return;
}
else
{
if (q1.front == -1 && q1.rear == -1)
{
q1.front = 0;
q1.rear = 0;
}
else
{
q1.rear = (q1.rear + 1) % 10;
}
q1.arr[q1.rear] = x;
}
}
void dequeue()
{
if (q1.front == -1 && q1.rear == -1)
{
printf("Queue is empty\n");
return;
}
else
{
printf("%d is the element dequeued from the queue\n", q1.arr[q1.front]);
if (q1.front == q1.rear)
{
q1.front = -1;
q1.rear = -1;
}
else
{
q1.front = (q1.front + 1) % 10;
}
}
}
void display()
{
for(int i=q1.front;i<=q1.rear;i++)
{
printf("%d ",q1.arr[i]);
S21_100_VedantPatil
}
printf("\n");
}
Output:
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
S21_100_VedantPatil
3.Display
1.AddElement
2.RemoveElement
3.Display
16 18
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
3.Display
1.AddElement
2.RemoveElement
3.Display
Queue is empty