Skip to content

Commit 550da07

Browse files
authored
Add files via upload
1 parent 6ea9251 commit 550da07

File tree

1 file changed

+96
-0
lines changed

1 file changed

+96
-0
lines changed
Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
#include<stdio.h>
2+
#include<stdlib.h>
3+
#define MAX 5
4+
int queue[MAX],rear=-1,front=-1;
5+
void enqueue()
6+
{
7+
int val;
8+
printf("Enter value to be inserted: ");
9+
scanf("%d",&val);
10+
if (front == 0 && rear == MAX-1)
11+
12+
{
13+
printf("\nQueue is Full");
14+
}
15+
16+
else if (front == -1)
17+
{
18+
front = rear = 0;
19+
queue[rear] = val;
20+
}
21+
22+
else if (rear == MAX-1 && front != 0)
23+
{
24+
rear = 0;
25+
queue[rear] = val;
26+
}
27+
28+
else
29+
{
30+
rear++;
31+
queue[rear] = val;
32+
}
33+
}
34+
void dequeue()
35+
{
36+
if (front == -1)
37+
{
38+
printf("\nQueue is Empty");
39+
}
40+
41+
else if(front>MAX-1)
42+
{
43+
front=0;
44+
printf("\nnumber deleted is %d\t",queue[front]);
45+
front++;
46+
47+
}
48+
else
49+
{
50+
printf("\nnumber deleted is %d\t",queue[front]);
51+
front++;
52+
}
53+
}
54+
void display()
55+
{
56+
int i;
57+
if(rear>=front)
58+
{
59+
for(i=front;i<=rear;i++)
60+
{
61+
printf("%d\t",queue[i]);
62+
}
63+
}
64+
else
65+
{
66+
{
67+
for (i = front; i < MAX; i++)
68+
printf("%d\t", queue[i]);
69+
70+
for (i = 0; i <= rear; i++)
71+
printf("%d\t", queue[i]);
72+
}
73+
}
74+
}
75+
76+
int main()
77+
{
78+
int c;
79+
while(1)
80+
{
81+
printf("\nChoose operation to perform\t1.Insert\t2.Delete\t3.Display\t4.Exit:\n");
82+
scanf("%d",&c);
83+
84+
switch(c)
85+
{
86+
case 1: enqueue();
87+
break;
88+
case 2: dequeue();
89+
break;
90+
case 3: display();
91+
break;
92+
case 4: exit(0);
93+
}
94+
95+
}
96+
}

0 commit comments

Comments
 (0)