-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueueArray.c
More file actions
129 lines (129 loc) · 2.63 KB
/
QueueArray.c
File metadata and controls
129 lines (129 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#include <stdio.h>
#include <stdlib.h>
#define max 10
static int rear = -1, front = 0, Q[max];
void enqueue();
void dequeue();
void search();
void retrieve();
void isempty();
void makempty();
void display();
void enqueue()
{
int x;
if (rear == max - 1)
printf("Queue is overflow\n");
else
{
printf("Enter the element to be inserted: ");
scanf("%d", &x);
rear++;
Q[rear] = x;
}
}
void dequeue()
{
if (front > rear)
printf("Queue is underflow\n");
else
front++;
}
void search()
{
int key, i, found = 0;
printf("Enter the element to be searched: ");
scanf("%d", &key);
if (front > rear)
printf("Queue is Empty\n");
else
{
for (i = front; i <= rear; i++)
{
if (Q[i] == key)
{
found = 1;
break;
}
}
if (found)
printf("Element is Found\n");
else
printf("Element is not found\n");
}
}
void retrieve()
{
int pos;
printf("Enter a position (1-based): ");
scanf("%d", &pos);
if (pos < 1 || pos > (rear - front + 1))
printf("Position exceeds bounds\n");
else
printf("Element at position %d is: %d\n", pos, Q[front + pos - 1]);
}
void isempty()
{
if (front > rear)
printf("Queue is Empty\n");
else
printf("Queue is not Empty\n");
}
void makempty()
{
while (front <= rear)
dequeue();
printf("Queue is emptied\n");
}
void display()
{
int i;
if (front > rear)
printf("Queue is Empty\n");
else
{
printf("Queue elements are: ");
for (i = front; i <= rear; i++)
printf("%d ", Q[i]);
printf("\n");
}
}
int main()
{
int choice;
printf("MENU\n1.Enqueue\n2.Dequeue\n3.Search\n4.Retrieve\n5.Isempty\n6.Makempty\n7.Display\n8.Exit\n");
do
{
printf("Enter your choice: ");
scanf("%d", &choice);
switch (choice) {
case 1:
enqueue();
break;
case 2:
dequeue();
break;
case 3:
search();
break;
case 4:
retrieve();
break;
case 5:
isempty();
break;
case 6:
makempty();
break;
case 7:
display();
break;
case 8:
break;
default:
printf("Invalid choice\n");
break;
}
} while (choice != 8);
return 0;
}