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)