Skip to content
Related Articles

Related Articles

Does STL priority queue allow duplicate values?

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 15 Jul, 2018
View Discussion
Improve Article
Save Article

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

My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!