A Priority Queue is a special type of queue in which elements present in the queue are served according to their priority i.e. element with the higher priority will be dequeued first before the element with the lower priority and if two elements in the priority queue are have same priority then the element which is enqueued first will be dequeued first.
Applications of priority queue:

Dijkstraâ€™s Shortest Path Algorithm using priority queue: In this algorithm, priority queue can be used to extract the minimum when the graph is stored in the form of adjacency list or matrix.

Primâ€™s Algorithm using priority queue: Priority queue is used to implement the Primâ€™s algorithm to store the keys of nodes and extract the minimum value node at every step.

Data Compression: Priority queue is used for compressing the data in Huffman coding.

Operating Systems: Priority queue is also used in operating systems for interrupt handling, load balancing (load balancing on server).

Heap Sort: In Heap sort is basically implemented using Heap data structure which is implemented using priority queue.

Artificial Intelligence
 *A Search Algorithm:** This algorithm is used to find the shortest path between two vertices of a weighted graph, trying out the most promising route first. It uses priority queue to keep track of unexplored routes, the one for which a lower bound on the total path length is smallest is given highest priority.
This article tried to discuss the Applications of Priority Queue. Hope this blog helps you understand the concept. To practice more problems feel free to check MYCODE  Competitive Programming at Prepbytes.