Skip to content

Commit 9ec78cd

Browse files
authored
Create QueueUsingArrays.c
Added queue program using array, written in c language.
1 parent 0e04f53 commit 9ec78cd

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed

Queue/QueueUsingArrays.c

+136
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
1+
/*
2+
Program : Queue implementation using arrays
3+
Author: Aman Kumar
4+
*/
5+
6+
#include<stdio.h>
7+
#include<stdlib.h>
8+
#define SIZE 5
9+
10+
// Global variable
11+
int front=-1, rear=-1,i, queue[SIZE];
12+
13+
//Get top/front element from the queue.
14+
void peek()
15+
{
16+
printf("Peek element is : %d\n",queue[front]);
17+
}
18+
19+
//Inserting element into the queue.
20+
void enqueue(int item)
21+
{
22+
if(rear >= SIZE - 1)
23+
printf("Queue is overflowing. \n");
24+
else
25+
{
26+
if(front==-1)
27+
front = 0;
28+
rear++;
29+
queue[rear] = item;
30+
printf("Success !! Inserted element (%d) into the queue.\n",item);
31+
}
32+
}
33+
34+
//Removing element from queue.
35+
void dequeue()
36+
{
37+
if(front<= -1)
38+
printf("Queue is underflowing.\n");
39+
else
40+
{
41+
printf("Dequeue element(%d) from queue.\n",queue[front]);
42+
front++;
43+
if(front>rear)
44+
front = rear = -1;
45+
}
46+
}
47+
48+
//Finding minimum element from queue.
49+
void min()
50+
{
51+
int m = queue[front];
52+
for(i=front;i<=rear;i++)
53+
{
54+
if(m > queue[i])
55+
m = queue[i];
56+
}
57+
printf("Minimum element in queue is : \t %d\n",m);
58+
}
59+
60+
//Finding maximum element from the queue.
61+
void max()
62+
{
63+
int m = queue[front];
64+
for(i=front;i<=rear;i++)
65+
{
66+
if(m < queue[i])
67+
m = queue[i];
68+
}
69+
printf("Maximum element in queue is : \t %d\n",m);
70+
}
71+
72+
//Searching element in queue.
73+
void search(int item)
74+
{
75+
int flag =0;
76+
for(i=front;i<=rear;i++)
77+
{
78+
if(item == queue[i])
79+
break;
80+
}
81+
(flag==1)?printf("Element(%d) found at %dth position.\n",item,i):printf("Can't find element(%d) in queue.\n");
82+
}
83+
84+
//Displaying all elements in queue.
85+
void display()
86+
{
87+
for(i=front;i<=rear;i++)
88+
printf("%d\n",queue[i]);
89+
}
90+
91+
//main function
92+
int main()
93+
{
94+
int ch,x;
95+
while(1)
96+
{
97+
printf("Please select an option: \n 1. Enqueue \t\t\t 2. Dequeue\n 3. Peek\t\t\t 4. Search\n 5. Minimum\t\t\t 6. Maximum\n 7. Display\t\t\t 8. Exit\n");
98+
scanf("%d",&ch);
99+
switch(ch)
100+
{
101+
case 1:
102+
printf("Enter the element which you want to add:\n");
103+
scanf("%d",&x);
104+
enqueue(x);
105+
break;
106+
case 2:
107+
dequeue();
108+
break;
109+
case 3:
110+
peek();
111+
break;
112+
case 4:
113+
printf("Enter element which you want to search: \n");
114+
scanf("%d",&x);
115+
search(x);
116+
break;
117+
case 5:
118+
min();
119+
break;
120+
case 6:
121+
max();
122+
break;
123+
case 7:
124+
display();
125+
break;
126+
case 8:
127+
exit(0);
128+
break;
129+
default:
130+
printf("Invalid input. \n");
131+
break;
132+
}
133+
}
134+
135+
return 0;
136+
}

0 commit comments

Comments
 (0)