-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathCircular_Queue_using_arrays.py
More file actions
82 lines (71 loc) · 2.1 KB
/
Circular_Queue_using_arrays.py
File metadata and controls
82 lines (71 loc) · 2.1 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
import numpy as np
class CQueueA:
def __init__(self, Size):
self.size = Size
self.queue = np.arange(Size)
self.front = -1
self.rear = -1
print(f"Queue of size {self.size} has been created")
def isEmpty(self):
if self.front == self.rear == -1:
return True
else:
return False
def isFull(self):
if (self.rear + 1) % self.size == self.front:
return True
else:
return False
def enqueue(self, Data):
if self.isFull():
print(" Queue is Full\n")
elif self.isEmpty():
self.front = 0
self.rear = 0
self.queue[self.rear] = data
print(f"{data} has been added to the queue")
else:
self.rear = (self.rear + 1) % self.size
self.queue[self.rear] = data
print(f"{data} has been added to the queue")
def dequeue(self):
if self.isEmpty():
print("Queue is empty")
else:
print(f"{self.queue[self.front]} has been removed from the queue")
print(f"THE QUEUE AFTER THE DEQUEUE OF {self.queue[self.front]}: ")
self.front = (self.front + 1) % self.size
np.delete(self.queue, self.front)
def peek(self):
if self.isEmpty():
print("Queue is empty")
else:
print(f"The front element is {self.queue[self.front]}")
def display(self):
if self.isEmpty():
print("Queue is empty")
else:
i = self.front
for i in range(self.front, self.rear + 1):
print(self.queue[i], end=" ")
i = (i + 1) % self.size
print()
print("ENTER THE ARRAY SIZE: ")
size = int(input())
CQ = CQueueA(size)
print(f"IS THE QUEUE EMPTY? : {CQ.isEmpty()}")
for i in range(size):
print("ENTER THE DATA: ")
data = int(input())
CQ.enqueue(data)
print("\n")
print("THE QUEUE: ")
CQ.display()
print("\n")
CQ.dequeue()
print("\n")
CQ.display()
print("\n")
CQ.peek()
print("\n")
print(f"IS THE QUEUE FULL? : {CQ.isFull()}")