1 class Queue():
2 def __init__(self, size=100):
3 self.rear = 0
4 self.front = 0
5 self.size = size + 1
6 self.li = [0 for _ in range(self.size)]
7
8 def is_empty(self):
9 return self.front == self.rear
10
11 def is_full(self):
12 return (self.rear + 1) % self.size == self.front
13
14 def en_queue(self, element):
15 if not self.is_full():
16 self.rear = (self.rear + 1) % self.size
17 self.li[self.rear] = element
18 else:
19 raise IndexError("The queue is filled!")
20
21 def de_queue(self):
22 if not self.is_empty():
23 self.front = (self.front + 1) % self.size
24 return self.li[self.front]
25 else:
26 raise IndexError("The queue is empty!")
27
28
29 if __name__ == '__main__':
30 que = Queue(5)
31 for i in range(3):
32 que.en_queue(i)
33 for _ in range(2):
34 print(que.de_queue())
35 for i in range(3, 7):
36 que.en_queue(i)
37 for _ in range(5):
38 print(que.de_queue())