class Queue:
def __init__(self):
self.queue = []
# Enqueue (add to end)
def enqueue(self, item):
self.queue.append(item)
print(f"Enqueued: {item}")
# Dequeue (remove from front)
def dequeue(self):
if not self.is_empty():
item = self.queue.pop(0)
print(f"Dequeued: {item}")
return item
else:
print("Queue is empty. Nothing to dequeue.")
return None
# Peek (front of the queue)
def peek(self):
if not self.is_empty():
return self.queue[0]
else:
print("Queue is empty.")
return None
# Check if the queue is empty
def is_empty(self):
return len(self.queue) == 0
# Display the queue
def display(self):
if self.is_empty():
print("Queue is empty.")
else:
print("Queue (front to rear):")
for item in self.queue:
print(item)
# Example usage
q = Queue()
q.enqueue(10)
q.enqueue(20)
q.enqueue(30)
q.display()
print("Front element is:", q.peek())
q.dequeue()
q.display()
Sample Output:
Enqueued: 10
Enqueued: 20
Enqueued: 30
Queue (front to rear):
10
20
30
Front element is: 10
Dequeued: 10
Queue (front to rear):
20
30