-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQueue.py
More file actions
36 lines (30 loc) · 1.01 KB
/
Copy pathQueue.py
File metadata and controls
36 lines (30 loc) · 1.01 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
class Queue():
"""
https://www.geeksforgeeks.org/introduction-to-queue-data-structure-and-algorithm-tutorials/
"""
def __init__(self, capacity):
self.buffer = []
self.capacity = capacity
def enqueue(self, value):
# insertion of data
if self.is_full():
return "Error. Queue is Full"
self.buffer.append(value)
print(f"Success. {self.rear()} added to queue")
def dequeue(self):
# removal of data from queue
if self.is_null():
return "Error. Queue is Empty"
print(f"Success. {self.buffer.pop(0)} removed from queue")
def front(self):
if self.is_null():
return "Error. Queue is Empty"
return self.buffer[0]
def rear(self):
if self.is_null():
return "Error. Queue is Empty"
return self.buffer[-1]
def is_full(self):
return len(self.buffer) == self.capacity
def is_null(self):
return len(self.buffer) == 0