Bibliothèque de files d'attente C ++ - fonction priority_queue ()
La description
Le constructeur de déplacement C ++ std::priority_queue::priority_queue() construit la priorité_queue avec le contenu des autres en utilisant la sémantique de déplacement.
Déclaration
Voici la déclaration de l'en-tête std :: priority_queue :: priority_queue () du constructeur std :: queue.
C ++ 11
explicit priority_queue(const Compare& comp = Compare(),
Container&& ctnr = Container());
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 :: priotiry_queue :: priority_queue ().
#include <iostream>
#include <queue>
using namespace std;
int main(void) {
auto it = {3, 1, 5, 2, 4};
priority_queue<int> q1(less<int>(), it);
priority_queue<int> q2(move(q1));
cout << "Contents of q1 after move operation" << endl;
while (!q1.empty()) {
cout << q1.top() << endl;
q1.pop();
}
cout << endl;
cout << "Contents of q2 after move operation" << endl;
while (!q2.empty()) {
cout << q2.top() << endl;
q2.pop();
}
return 0;
}
Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant -
Contents of q1 after move operation
Contents of q2 after move operation
5
4
3
2
1