Bibliothèque de files d'attente C ++ - fonction priority_queue ()

La description

Le constructeur d'initialiseur C ++ std::priority_queue::priority_queue() construit un objet priority_queue et attribue un conteneur interne par une copie de ctnr.

Déclaration

Voici la déclaration de l'en-tête std :: priority_queue :: priority_queue () du constructeur std :: queue.

C ++ 98

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

C ++ 11

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

Paramètres

  • compare - Objet de comparaison à utiliser pour ordonner la priority_queue.

    Cela peut être un pointeur de fonction ou un objet fonction qui peut comparer ses deux arguments.

  • cntr - Objet conteneur.

    Il s'agit du type de conteneur sous-jacent pour priority_queue et ses valeurs par défaut sont vector.

Valeur de retour

Le constructeur ne renvoie jamais de valeur.

Des exceptions

Cette fonction membre ne lève jamais d'exception.

Complexité temporelle

Linéaire ie O (n)

Exemple

L'exemple suivant montre l'utilisation du constructeur std :: priority_queue :: priority_queue ().

#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;
}

Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -

Queue contents are
5
4
3
2
1