Partager via


priority_queue (STL/CLR)

La classe de modèle décrit un objet qui contrôle une séquence classée de la longueur variée d'éléments qui a un accès limité.Vous utilisez l'adaptateur priority_queue de conteneur pour gérer un conteneur sous-jacent comme file d'attente de priorité.

Dans la description ci-après, GValue est identique qu' Value à moins que ce dernier soit un type référence, auquel cas c'est Value^.De même, GContainer est identique qu' Container à moins que ce dernier soit un type référence, auquel cas c'est Container^.

template<typename Value,
    typename Container>
    ref class priority_queue
        System::ICloneable,
        Microsoft::VisualC::StlClr::IPriorityQueue<GValue, GContainer>
    { ..... };

Paramètres

  • Valeur
    Type d'un élément dans la séquence contrôlée.

  • Conteneur
    Type du conteneur sous-jacent.

Membres

Définition de type

Description

priority_queue::const_reference (STL/CLR)

Le type d'une référence à une constante à un élément.

priority_queue::container_type (STL/CLR)

Type du conteneur sous-jacent.

priority_queue::difference_type (STL/CLR)

Le type d'une distance signée entre deux éléments.

priority_queue::generic_container (STL/CLR)

Le type de l'interface générique pour l'adaptateur du conteneur.

priority_queue::generic_value (STL/CLR)

Le type d'un élément de l'interface générique pour l'adaptateur du conteneur.

priority_queue::reference (STL/CLR)

Le type d'une référence à un élément.

priority_queue::size_type (STL/CLR)

Le type d'une distance signée entre deux éléments.

priority_queue::value_compare (STL/CLR)

Le délégué classement pour deux éléments.

priority_queue::value_type (STL/CLR)

Le type d'un élément.

Fonction membre

Description

priority_queue::assign (STL/CLR)

Remplace tous les éléments.

priority_queue::empty (STL/CLR)

Teste si aucun élément n'est présent.

priority_queue::get_container (STL/CLR)

Accède au conteneur sous-jacent.

priority_queue::pop (STL/CLR)

Supprime l'élément de hghest-priorité.

priority_queue::priority_queue (STL/CLR)

Construit un objet.

priority_queue::push (STL/CLR)

Ajoute un nouvel élément.

priority_queue::size (STL/CLR)

Compte le nombre d'éléments.

priority_queue::top (STL/CLR)

Accède à l'élément le plus élevée.

priority_queue::to_array (STL/CLR)

Copie la séquence contrôlée à un nouveau tableau.

priority_queue::value_comp (STL/CLR)

Copie le délégué de classement pour deux éléments.

Property

Description

priority_queue::top_item (STL/CLR)

Accède à l'élément le plus élevée.

Opérateur

Description

priority_queue::operator= (STL/CLR)

Remplace la séquence contrôlée.

Interfaces

Interface

Description

ICloneable

Dupliquez un objet.

IPriorityQueue<valeur, conteneur>

Suivre l'adaptateur de conteneur générique.

Notes

L'objet alloue et libère le stockage pour la séquence qu'elle contrôle via un conteneur sous-jacent, de type Container, qui stocke les éléments d' Value et se développe à la demande.Il contient la séquence classée comme tas, avec l'élément le plus élevée (l'élément supérieur) facilement accessible et amovible.L'objet restreint l'accès à effectuer un push de nouveaux éléments et à un pop simplement l'élément le plus élevée, implémentant une file d'attente de priorité.

L'objet classe la séquence qu'il contrôle en appelant un objet délégué stocké de type priority_queue::value_compare (STL/CLR).Vous pouvez spécifier l'objet délégué stocké lorsque vous construisez le priority_queue ; si vous ne spécifiez pas d'objet délégué, la valeur par défaut est la comparaison operator<(value_type, value_type).Vous accédez à cet objet stocké en appelant la fonction membre priority_queue::value_comp (STL/CLR)().

Un tel objet délégué doit appliquer le classement faible strict aux valeurs de type priority_queue::value_type (STL/CLR).Cela signifie, parce que deux clés d' X et Y:

value_comp()(X, Y) retourne le même résultat boolean à chaque appel.

Si value_comp()(X, Y) condition est vraie, value_comp()(Y, X) doit être false.

Si value_comp()(X, Y) condition est vraie, X est appelé dimensionné avant Y.

Si !value_comp()(X, Y) && !value_comp()(Y, X) condition est vraie, on dit qu' X et Y ont le classement équivalent.

Pour tout élément X qui précède Y dans la séquence contrôlée, key_comp()(Y, X) est false.(Pour l'objet délégué par défaut, les clés ne font baisser jamais dans une valeur.)

L'élément le plus élevée est donc l'un des éléments qui n'est dimensionné avant tout autre élément.

Étant donné que le conteneur sous-jacent gère les éléments dimensionnés comme tas :

Le conteneur doit prendre en charge des itérateurs d'accès aléatoire.

Les éléments avec le classement d'équivalent peuvent être dépilés dans un ordre différent de celui dans lequel ils ont fait l'objet d'un push.(Le classement n'est pas stable.)

Par conséquent, les candidats pour le conteneur sous-jacent incluent deque (STL/CLR) et vector (STL/CLR).

Configuration requise

en-tête :<cliext/file d'attente>

Cliext del'espace de noms :

Voir aussi

Référence

deque (STL/CLR)

queue (STL/CLR)

stack (STL/CLR)

vector (STL/CLR)

Autres ressources

Référence de bibliothèque STL/CLR