C++ Queue Library - priority_queue() Function



Description

The C++ initializer constructor std::priority_queue::priority_queue() constructs a priority_queue object and assigns internal container by a copy of ctnr.

Declaration

Following is the declaration for std::priority_queue::priority_queue() constructor form std::queue header.

C++98

explicit priority_queue(const Compare& compare = Compare(),
                        const Container& cntr = Container());

C++11

priority_queue(const Compare& compare, const Container& cntr );

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.

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>

using namespace std;

int main(void) {
   auto it = {3, 1, 5, 2, 4};
   priority_queue<int> q(less<int>(), it);

   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
4
3
2
1
queue.htm
Advertisements