blob: 4356b4dd74fa5d53f7834eedc2c13f3e7c8dc591 (
plain)
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
|
class Queue:
def __init__(self, size=7):
self.size = size+1
self.queue = [0]*self.size
self.write = 0
self.read = 0
def full(self):
return ((self.write+1)%self.size) == ((self.read)%self.size)
def empty(self):
return self.write == self.read
def enqueue(self, value):
"""
Will add item to queue without overflowing
"""
if (self.full()):
return
self.queue[self.write] = value
self.write += 1
if (self.write == self.size):
self.write = 0
def dequeue(self):
if (self.empty()):
return None
val = self.queue[self.read]
self.read += 1
if (self.read == self.size):
self.read = 0
return val
if __name__ == "__main__":
que = Queue()
que.enqueue(1)
que.enqueue(2)
que.enqueue(3)
print(que.dequeue())
que.enqueue(4)
que.enqueue(5)
print(que.dequeue())
que.enqueue(6)
que.enqueue(7)
print(que.dequeue())
que.enqueue(7)
print(que.queue)
|