Does STL priority queue allow duplicate values? Improve Improve Like Article Like Save Share Report Yes, in C++ priority_queue, we may have duplicate values. // C++ program to demonstrate that duplicate // values are allowed in a priority queue // (with maximum value at the top) #include <bits/stdc++.h> using namespace std; int main() { priority_queue<int> pq; pq.push(30); pq.push(5); pq.push(30); cout << pq.top() << " "; pq.pop(); cout << pq.top() << " "; pq.pop(); return 0; } Output: 30 30 // C++ program to demonstrate that duplicate // values are allowed in a priority queue // (with minimum value at the top) #include <bits/stdc++.h> using namespace std; int main() { priority_queue<int> pq; pq.push(5); pq.push(5); pq.push(5); cout << pq.top() << " "; pq.pop(); cout << pq.top() << " "; pq.pop(); cout << pq.top() << " "; pq.pop(); return 0; } Output: 5 5 5 Last Updated : 15 Jul, 2018 Like Article Save Article Previous Vector of Unordered Maps in C++ with Examples Next Bresenham's Algorithm for 3-D Line Drawing Share your thoughts in the comments Add Your Comment Please Login to comment...