priority queue cpp
/* A priority queue maintains a set of elements. The supported operations are
insertion and, depending on the type of the queue, retrieval and removal
of either the minimum or maximum element. Insertion and removal take
O(logn) time, and retrieval takes O(1) time. */
priority_queue<int> q;
q.push(3); // 3
q.push(5); // 3 5
q.push(7); // 3 5 7
q.push(2); // 2 3 5 7
cout << q.top() << "\n"; // 7
q.pop();
cout << q.top() << "\n"; // 5
q.pop();
q.push(6);
cout << q.top() << "\n"; // 6
q.pop();
3.86
7
//Shubh'grepper
// Implementation of priority_queue in c++
//queue with elements in decreasing order
priority_queue<int> pq;
// queue with elements in increasing order using compare function inside declaration
priority_queue <int, vector<int>, greater<int> > pq;
//priority_queue of type pair<int, int>
#define pp pair<int, int>
priority_queue <pp, vector<pp>, greater<pp> > pq;
Thank you!
7
0
4.4
5
// Implementation of priority_queue in c++
//queue with elements in decreasing order
priority_queue<int> pq;
// queue with elements in increasing order using compare function inside declaration
priority_queue <int, vector<int>, greater<int> > pq;
//priority_queue of type pair<int, int>
#define pp pair<int, int>
priority_queue <pp, vector<pp>, greater<pp> > pq;
Thank you!
5
0
4.14
7
// using GCC 10.2 (C++2a) compiler
#include <functional>
#include <queue>
#include <vector>
#include <iostream>
template<typename T> void print_queue(T& q) {
while(!q.empty()) {
std::cout << q.top() << " ";
q.pop();
}
std::cout << '\n';
}
int main() {
std::priority_queue<int> q;
for(int n : {1,8,5,6,3,4,0,9,7,2})
q.push(n);
print_queue(q);
std::priority_queue<int, std::vector<int>, std::greater<int> > q2;
for(int n : {1,8,5,6,3,4,0,9,7,2})
q2.push(n);
print_queue(q2);
// Using lambda to compare elements.
auto cmp = [](int left, int right) { return (left ^ 1) < (right ^ 1); };
std::priority_queue<int, std::vector<int>, decltype(cmp)> q3(cmp);
for(int n : {1,8,5,6,3,4,0,9,7,2})
q3.push(n);
print_queue(q3);
}
Thank you!
7
0
3.5
2
#include<iostream>
#include<queue>
#include<algorithm>
using namespace std;
int main()
{
priority_queue<int>pq;
int n=5;
while(n--)
{
int val;
cout<<"enter the value you want to insert:"<<endl;
cin>>val;
pq.push(val);
}
priority_queue<int>p;
p.push(100);
p.push(1000);
p.push(3000);
p.push(5000);
pq.swap(p);
while(!pq.empty())
{
cout<<pq.top()<<" ";
pq.pop();
}
return 0;
}
Thank you!
2
0
3.44
9
/* Program to access an element of highest priority */
#include<iostream>
#include<queue> //Header-file for queue
using namespace std;
int main()
{
priority_queue<int> p1;
p1.push(35);
p1.push(40);
p1.push(95);
p1.push(25);
cout<<p1.top(); //fetch element of highest
priority(maximum element) i.e 95
}
Thank you!
9
0
Are there any code examples left?
New code examples in category C++