 GeeksforGeeks App
Open App Browser
Continue

# C++ STL – Reverse Priority Queue

A priority Queue is an abstract data type that resembles a queue, and each element has a corresponding priority value. Priority queues are built on the top of the max heap and use an array or vector as an internal structure.

In C++ STL, by default, the first element of the queue is the greatest of all elements in the queue and elements are in nonincreasing order. But however, we can make a priority queue having the smallest element at the top as min-heap with the help of greater<data_type> in C++ STL.

Syntax:

`priority_queue <data_type, vector<data_type>, greater<data_type>> variable_name; `

Example:

## C++

 `// C++ program to demonstrate priority ``// queue in reverse order``#include ``#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``// Initialising the priority queue``    ``priority_queue<``int``, vector<``int``>, greater<``int``> > pq;``   ` `    ``// Inserting values in priority queue``    ``pq.push(10);``    ``pq.push(30);``    ``pq.push(20);``    ``pq.push(15);``    ``pq.push(25);`` ` `    ``cout << ``"The priority queue in reverse order is : "``;``     ` `    ``// Printing all elements in priority queue``    ``while``(!pq.empty())``    ``{``        ``cout<

Output

`The priority queue in reverse order is : 10 15 20 25 30 `

Example:

## C++

 `// C++ program to demonstrate priority queue in reverse order``#include ``using` `namespace` `std;`` ` `int` `main()``{``    ``// Initialising the priority queue``    ``priority_queue, greater > pq;``     ` `    ``// Inserting values in priority queue``    ``pq.push(``"physics"``);``    ``pq.push(``"chemistry"``);``    ``pq.push(``"maths"``);``    ``pq.push(``"socialstudies"``);``    ``pq.push(``"biology"``);`` ` `    ``cout << ``"The priority queue in reverse order is : "``;``     ` `    ``// Printing all elements in priority queue``    ``while``(!pq.empty())``    ``{``        ``cout<

Output

`The priority queue in reverse order is : biology chemistry maths physics socialstudies `

For more information, refer to the article – How to implement Min Heap using STL?

My Personal Notes arrow_drop_up