Skip to content
Related Articles

Related Articles

Improve Article

Does STL priority queue allow duplicate values?

  • Difficulty Level : Easy
  • Last Updated : 15 Jul, 2018

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
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL.  To complete your preparation from learning a language to DS Algo and many more,  please refer Complete Interview Preparation Course.



My Personal Notes arrow_drop_up
Recommended Articles
Page :