forked from ikushum/Lets-do-DataStructure-and-Algorithm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathqueue.py
More file actions
50 lines (42 loc) · 1.23 KB
/
queue.py
File metadata and controls
50 lines (42 loc) · 1.23 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
# In this sort of normal Queue, we can insert elements until queue becomes full. But once queue becomes full, we can not insert the next element even if there is a space in front of queue.
class Queue:
def __init__(self,size):
self.size = size
self.head = -1
self.tail = -1
self.array = [None] * size
def isEmpty(self):
if (self.head == -1 & self.tail == -1):
return True
else:
return False
def peek(self):
if self.head >= 0:
print('First data in queue is : ' + str(self.array[self.head]))
return self.array[self.head]
else:
print("no element in queue")
return None
def add(self, data):
if not (self.tail < self.size-1):
print('Queue is full')
return
if (self.head == -1 & self.tail == -1):
self.head = 0
self.tail+=1
self.array[self.tail] = data
print(str(data) + ' was inserted')
def remove(self):
if (self.head == -1 & self.tail == -1):
print('Queue is empty')
else:
print(str(self.array[self.head]) + ' was deleted')
self.array[self.head] = None
self.head+=1
if (self.head == self.tail ):
self.head=self.tail= -1
def display(self):
if (self.head == -1 & self.tail == -1):
print('Queue is empty')
else:
print('Queue is : ' + str(self.array) )