How to implement a Queue data structure in Python
In this Python tutorial, we will learn how to implement a queue data structure in Python language. First, what is queue? A queue is a data structure which follows First In First Out (FIFO). That means the first element that is added to the queue is the first one to be removed.
Features of Queue in Python
1) A queue is an ordered list of elements
2) This data structure follows the FIFO order.
3) The deletion of the new element will be done only after all the previous elements of the new element are deleted.
Implementation of Queue in Python
Source code to implement a queue using Python
class queue: # Create a class queue
def __init__(self, max_size, size=0, front=0, rear=0):
self.queue = [[] for i in range(5)] #creates a list [0,0,0,0,0]
self.max_size = max_size
self.size = size
self.front = front
self.rear = rear
# Methods of Queue
def enqueue(self, data): # To enter the elements in a queue
if not self.isFull():
self.queue[self.rear] = data
self.rear = int((self.rear + 1) % self.max_size)
self.size += 1
else:
print('Queue is full')
def dequeue(self): # To remove the elements in a queue
if not self.isEmpty():
print(self.queue[self.front], 'is removed')
self.front = int((self.front + 1) % self.max_size)
self.size -= 1
else:
print('Queue is empty')
def isEmpty(self): # To check if the current queue is empty or not
return self.size == 0
def isFull(self): # To check if the current queue is full or not
return self.size == self.max_size
def show(self):
print ('Queue contents are:')
for i in range(self.size):
print (self.queue[int((i+self.front)% self.max_size)])
q = queue(5)
print('Queue Insertion')
q.enqueue(1)
q.show()
q.enqueue(2)
q.show()
q.enqueue(3)
q.show()
q.enqueue(4)
q.show()
q.enqueue(5)
q.show(
print('Queue Deletion'))
q.dequeue()
q.show()
q.dequeue()
q.show()
q.dequeue()
q.show()
q.dequeue()
q.show()
q.dequeue()
q.show()The methods implemented the queue are:-
- enqueue():- This method is used to add the elements at the bottom of the queue.
- dequeue():- This method is used to remove the elements at the top of the queue.
- isEmpty():- This method is used to check if the queue is empty or not.
- isFull():- This method is used to check if the queue is full or not.
In the above program, five elements are inserted into the queue. After entering the five elements, the removal of the elements is shown.
Output:-
Queue Insertion Queue contents are: 1 Queue contents are: 1 2 Queue contents are: 1 2 3 Queue contents are: 1 2 3 4 Queue contents are: 1 2 3 4 5 Queue Deletion 1 is removed Queue contents are: 2 3 4 5 2 is removed Queue contents are: 3 4 5 3 is removed Queue contents are: 4 5 4 is removed Queue contents are: 5 5 is removed Queue contents are:
You can also read,
Leave a Reply