- The C Standard Library
- The C Standard Library
- The C++ Standard Library
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
C++ Queue Library - priority_queue() Function
Description
The C++ range constructor std::priority_queue::priority_queue() constructs a priority_queue with as many elements in range of first to last.
Declaration
Following is the declaration for std::priority_queue::priority_queue() constructor form std::queue header.
C++98
template <class InputIterator> priority_queue(InputIterator first, InputIterator last, const Compare& comp = Compare(), const Container& ctnr = Container());
C++11
template <class InputIterator> priority_queue(InputIterator first, InputIterator last, const Compare& comp, const Container& ctnr);
Parameters
compare − Comparison object to be used to order the priority_queue.
This may be a function pointer or function object that can compare its two arguments.
cntr − Container object.
This is type of the underlying container for the priority_queue and it's default values is vector
. first − Input iterator to the initial position in range.
last − Input itertor to the final position in range.
Return value
Constructor never returns value.
Exceptions
This member function never throws exception.
Time complexity
Linear i.e. O(n)
Example
The following example shows the usage of std::priority_queue::priority_queue() constructor.
#include <iostream> #include <queue> #include <vector> using namespace std; int main(void) { vector<int> v = {3, 1, 5, 2, 4}; priority_queue<int> q(v.begin(), v.begin() + 4); cout << "Queue contents are" << endl; while (!q.empty()) { cout << q.top() << endl; q.pop(); } return 0; }
Let us compile and run the above program, this will produce the following result −
Queue contents are 5 3 2 1