Priority Deque C++ Code Example


Example 1: priority queue c++

/* 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();

Example 2: priority queue cpp

// 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);   }

Comments

Popular posts from this blog

Chemistry - Bond Angles In NH3 And NCl3

Are Regular VACUUM ANALYZE Still Recommended Under 9.1?

Change The Font Size Of Visual Studio Solution Explorer