Bibliothèque C ++ - <queue>

Introduction à la file d'attente

La file d'attente est une structure de données conçue pour fonctionner dans un contexte FIFO (premier entré, premier sorti). Dans la file d'attente, les éléments sont insérés à partir de l' extrémité arrière et sont supprimés de l' extrémité avant .

La classe de file d'attente est l'adaptateur de conteneur. Le conteneur est un objet contenant des données du même type. La file d'attente peut être créée à partir de différents conteneurs de séquence. Les adaptateurs de conteneur ne prennent pas en charge les itérateurs, nous ne pouvons donc pas les utiliser pour la manipulation de données. Cependant, ils prennent en charge les fonctions membres push () et pop () pour l'insertion et la suppression de données respectivement.

Définition

Ci-dessous la définition de std :: queueer à partir du fichier d'en-tête <queue>

template <class T, class Container = deque<T> > class queue;

Paramètres

  • T - Type de l'élément contenu.

    T peut être remplacé par tout autre type de données, y compris le type défini par l'utilisateur.

  • Container - Type de l'objet conteneur sous-jacent.

Types de membres

Les types de membres suivants peuvent être utilisés comme paramètres ou comme type de retour par les fonctions membres.

N ° Sr. Types de membres Définition
1 type de valeur T (premier paramètre du modèle)
2 container_type Deuxième paramètre du modèle
3 type de taille size_t
4 référence type de valeur&
5 const_reference const value_type &
6 difference_type ptrdiff_t

Fonctions de <queue>

Vous trouverez ci-dessous la liste de toutes les méthodes de l'en-tête <queue>.

Constructeurs

N ° Sr. Méthode et description
1 queue :: queue constructeur par défaut

Construit un objet de file d'attente vide, avec zéro élément.

2 queue :: queue initialize constructeur

Construit un objet de file d'attente et affecte un conteneur interne par une copie de ctnr .

3 queue :: constructeur de déplacement de file d'attente

Construit la file d'attente avec le contenu des autres en utilisant la sémantique de déplacement.

4 queue :: constructeur de copie de file d'attente

Construit une file d'attente avec copie de chaque élément présent dans la file d' attente existante autre .

Destructeur

N ° Sr. Méthode et description
1 queue :: ~ queue

Détruit la file d'attente en libérant la mémoire du conteneur.

Fonctions des membres

N ° Sr. Méthode et description
1 queue :: retour

Renvoie une référence au dernier élément de la file d'attente.

2 file d'attente :: emplace

Construit et insère un nouvel élément à la fin de la file d'attente.

3 file d'attente :: vide

Teste si la file d'attente est vide ou non.

4 file d'attente :: devant

Renvoie une référence au premier élément de la file d'attente.

5 queue :: opérateur = copie de la version

Attribue un nouveau contenu à la file d'attente en remplaçant les anciens.

6 queue :: operator = déplacer la version

Attribue un nouveau contenu à la file d'attente en remplaçant les anciens.

sept file d'attente :: pop

Supprime l'élément avant de la file d'attente.

8 queue :: version de copie push

Insère un nouvel élément à la fin de la file d'attente.

9 queue :: version push move

Insère un nouvel élément à la fin de la file d'attente.

dix queue :: taille

Renvoie le nombre total d'éléments présents dans la file d'attente.

11 queue :: swap

Échange le contenu de la file d'attente avec le contenu d'une autre file d'attente.

Fonctions surchargées non membres

N ° Sr. Méthode et description
1 opérateur ==

Teste si deux files d'attente sont égales ou non.

2 opérateur! =

Teste si deux files d'attente sont égales ou non.

3 opérateur <

Teste si la première file d'attente est inférieure à autre ou non.

4 opérateur <=

Teste si la première file d'attente est inférieure ou égale à autre ou non.

5 opérateur>

Teste si la première file d'attente est supérieure ou non à autre.

6 opérateur> =

Teste si la première file d'attente est supérieure ou égale à autre ou non.

sept échanger

Échange le contenu de deux files d'attente.

Présentation de priority_queue

La file d'attente prioritaire est une structure de données de file d'attente qui détient la priorité. La file d'attente prioritaire est analogue à la structure de données de tas où l'élément peut être inséré dans n'importe quel ordre et toujours l' élément de tas maximum est récupéré en premier.

Définition

Ci-dessous la définition de std :: priority_queue à partir du fichier d'en-tête <queue>

template <class T, class Container = vector<T>,
class Compare = less<typename Container::value_type> < class priority_queue;

Paramètres

  • T - Type de l'élément contenu.

    T peut être remplacé par tout autre type de données, y compris le type défini par l'utilisateur.

  • Container - Type de l'objet conteneur sous-jacent.

  • 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.

Types de membres

Les types de membres suivants peuvent être utilisés comme paramètres ou comme type de retour par les fonctions membres.

N ° Sr. Types de membres Définition
1 type de valeur T (premier paramètre du modèle)
2 container_type Deuxième paramètre du modèle
3 type de taille size_t
4 référence type de valeur&
5 const_reference const value_type &
6 difference_type ptrdiff_t

Fonctions de <queue>

Vous trouverez ci-dessous la liste de toutes les méthodes de l'en-tête <queue>.

Constructeurs

N ° Sr. Méthode et description
1 priority_queue :: priority_queue constructeur par défaut

Construit une priority_queue vide avec zéro élément.

2 priority_queue :: priority_queue initialiser le constructeur

Construit un objet priority_queue et affecte un conteneur interne par une copie de ctnr .

3 priority_queue :: priority_queue constructeur de plage

Construit une priority_queue avec autant d'éléments dans la plage du premier au dernier.

4 priority_queue :: priority_queue déplacer le constructeur

Construit la priorité_queue avec le contenu des autres en utilisant la sémantique de déplacement.

5 priority_queue :: priority_queue constructeur de copie

Construit une priority_queue avec une copie de chaque élément présent dans une autre priorité existante.

Destructeur

N ° Sr. Méthode et description
1 priority_queue :: ~ priority_queue

Détruit priority_queue en libérant la mémoire du conteneur.

Fonctions des membres

N ° Sr. Méthode et description
1 priority_queue :: emplace

Construit et insère un nouvel élément dans l'ordre trié dans priority_queue.

2 priority_queue :: vide

Teste si pritority_queue est vide ou non.

3 priority_queue :: operator = copie de la version

Attribue un nouveau contenu à priority_queue en remplaçant les anciens.

4 priority_queue :: operator = déplacer la version

Attribue un nouveau contenu à priority_queue en remplaçant les anciens.

5 priority_queue :: pop

Supprime l'élément frontal de priority_queue.

6 priority_queue :: version de copie push

Insère un nouvel élément dans l'ordre trié.

sept priority_queue :: version push move

Insère un nouvel élément dans l'ordre trié.

8 priority_queue :: taille

Renvoie le nombre total d'éléments présents dans la priorité_queue.

9 priority_queue :: swap

Échange le contenu de priority_queue avec le contenu d'une autre priority_queue.

dix priority_queue :: top

Renvoie une référence au premier élément de priority_queue

Fonctions surchargées non membres

N ° Sr. Méthode et description
1 échanger

Échange le contenu de priority_queue avec le contenu d'une autre priority_queue.