queue adt python code example

Example 1: queues in python

class Queue:
    def __init__(self, capacity):
        self.front = self.size = 0
        self.rear = capacity - 1
        self.Q = [None] * capacity
        self.capacity = capacity

    def isFull(self):
        return self.size == self.capacity

    def isEmpty(self):
        return self.size == 0

    def EnQueue(self, item):
        if self.isFull():
            print("Full")
            return

        self.rear = (self.rear + 1) % (self.capacity)
        self.Q[self.rear] = item
        self.size = self.size + 1
        print("%s enqueue to queue" %str(item))

    def DeQueue(self):
        if self.isEmpty():
            return "Empty"

        print("%s dequeued from queue" %str(self.Q[self.front]))
        self.front = (self.front + 1) % (self.capacity)
        self.size = self.size - 1

    def que_front(self):
        if self.isEmpty():
            print("The Queue is empty")


        print("Front item is ", self.Q[self.front])

    def que_rear(self):
        if self.isEmpty():
            print("Queue is Empty")

        print("The rear item is ", self.Q[self.rear])


queue = Queue(30)
queue.EnQueue(10)
queue.EnQueue(20)
queue.EnQueue(30)
queue.EnQueue(40)
queue.EnQueue(50)
queue.que_front()
print()
queue.DeQueue()
queue.que_front()
queue.que_rear()
print()
queue.DeQueue()
queue.que_front()
queue.que_rear()

Example 2: py list enqueue

a = [1,2,3,4]

# enqueue
a = [0] + a
>>> [0,1,2,3,4]