Open In App

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
Next
Share your thoughts in the comments
Similar Reads