-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueue.c
More file actions
75 lines (75 loc) · 1.15 KB
/
Queue.c
File metadata and controls
75 lines (75 loc) · 1.15 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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
#define MAX 6
int intArray[MAX];
int front = 0;
int rear = -1;
int itemCount = 0;
int peek ()
{
return intArray[front];
}
bool isEmpty ()
{
return itemCount == 0;
}
bool isFull ()
{
return itemCount == MAX;
}
int size ()
{
return itemCount;
}
void enqueue(int data)
{
if (!isFull ())
{
if (rear == MAX - 1)
{
rear = -1;
}
intArray[++rear] = data;
itemCount++;
}
}
int dequeue()
{
int data = intArray[front++];
if (front == MAX)
{
front = 0;
}
itemCount--;
return data;
}
int main ()
{
enqueue (3);
enqueue (5);
enqueue (9);
enqueue (1);
enqueue (12);
enqueue (15);
if (isFull ())
{
printf ("Queue is full!\n");
}
int num = dequeue ();
printf ("Element removed: %d\n", num);
enqueue (16);
enqueue (17);
enqueue (18);
printf ("Element at front: %d\n", peek ());
printf ("----------------------\n");
printf ("index : 5 4 3 2 1 0\n");
printf ("----------------------\n");
printf ("Queue: ");
while (!isEmpty ())
{
int n = dequeue();
printf ("%d ", n);
}
}