Design priority queue in python from basic

In this session, we are going to learn what is priority queue and how can we implement in an easy way using python programming.

what do you mean by a priority queue

The priority queue is a set of the elements in which elements can be added at any time, but the only element that can be removed is the one with the highest priority.

now we are going to jump in the program.so 1st take the class and within that, we have to declare four functions
which handle all operation of the priority queue.



1)  def __init__(self)
—>for initialization of queue.
2)   def  isEmpty(self)
—>for checking queue is empty or not.
3)    def insert(self, data)
—>for inserting the element into the queue
4)    def popout(self)
—->for deleting the element of the highest priority.

now the whole code of Python Priority queue is:

#Priority Queue implementation using Queue concepts. 
class P_Queue(object):
    def __init__(self):
        self.q = []
    #In built function isEmpty to checking if the queue is empty
    def isEmpty(self):
        return len(self.q)==[]
    #In built function for inserting an element in the queue
    def insert(self, data):
        self.q.append(data)
    #delete function for popout an element based on theirPriority
    def popout(self):
        try:
            #initialization of variable.
            max=0
            #for loop for finding maximum value in the queue.
            for i in range(len(self.q)):
                if self.q[i] > self.q[max]:
                    max = i
            #store maximum value  element in x.       
            x=self.q[max]
            #del function use to delete the maximum value from queue. 
            del self.q[max]
            #return max value 
            return x
        except IndexError:
            print()
            exit()
# class object             
ob=P_Queue()
#taking queue size from users
x=int(input("Enter the size of queue"))
#for loop to insert the element into he queue by calling insert function.
for i in range(x):
    ob.insert(int(input("Enter the  element ")))
#print element according to their priority    
while not ob.isEmpty():
    print(ob.popout())

Output:

Enter the size of queue5
Enter the  element 23
Enter the  element 6
Enter the  element 41
Enter the  element 12
Enter the  element 56
56
41
23
12
6

Also, learn:

Leave a Reply

Your email address will not be published. Required fields are marked *