Queue Operations & Implementation

A Queue is a linear data structure that follows the First In First Out (FIFO) principle, where the first element added is the first to be removed.

Core Operations:

Example Queue Implementation Using Python List:

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

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

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

    def enqueue(self, data):
        if self.is_full():
            print("Queue Overflow")
            return
        self.rear = (self.rear + 1) % self.capacity
        self.queue[self.rear] = data
        self.size += 1

    def dequeue(self):
        if self.is_empty():
            print("Queue Underflow")
            return None
        data = self.queue[self.front]
        self.front = (self.front + 1) % self.capacity
        self.size -= 1
        return data

    def peek(self):
        if self.is_empty():
            return None
        return self.queue[self.front]

# Usage example:
q = Queue(5)
q.enqueue(10)
q.enqueue(20)
q.enqueue(30)
print("Front element:", q.peek())
print("Dequeued:", q.dequeue())
print("Front element after dequeue:", q.peek())

Advantages of Queue: