Does STL priority queue allow duplicate values? Last Updated : 15 Jul, 2018 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 Like Article Suggest improvement Next priority_queue value_type in C++ STL Share your thoughts in the comments Add Your Comment Please Login to comment...