1067
1067
_size = 5
def __init__(self):
self._data = [None]* CircularQ._size
self._n = 0
self._front = -1
self._rear = -1
def lenQ(self):
return self._n
def is_empty(self):
return self._n == 0
def first(self):
if self.is_empty():
raise Empty("Queue is Empty")
return self._data[self._front]
def dequeue(self):
if self.is_empty():
print("Queue is empty")
return -1
x = self._data[self._front]
self._data[self._front] = None
if self._n == 1:
self._front = self._rear = -1
elif self._front == self._size - 1:
self._front = 0
else:
self._front = self._front + 1
self._n -= 1
return x
def printQueue(self):
print("Queue Content is :")
if self._front < self._rear:
print(self._data[self._front: self._rear + 1])
if self._front != 0 and self._rear < self._front:
print(self._data[self._front:] + self._data[0:self._rear + 1])
def main():
q1 = CircularQ()
q1.enqueue(65)
q1.enqueue(90)
q1.enqueue(14)
print("No of elements in Queue: ", q1.lenQ())
q1.printQueue()
print("item being processed : ", q1.dequeue())
q1.printQueue()
q1.enqueue(76)
q1.enqueue(11)
q1.enqueue(83)
q1.printQueue()
print("item being processed : ", q1.dequeue())
q1.printQueue()
q1.enqueue(43)
q1.printQueue()
print("item being processed : ", q1.dequeue())
q1.printQueue()
print("item being processed : ", q1.dequeue())
q1.printQueue()
print("item being processed : ", q1.dequeue())
q1.printQueue()
print("item being processed : ", q1.dequeue())
q1.printQueue()
print("item being processed : ", q1.dequeue())
print("item being processed : ", q1.dequeue())
main()