stack, classe
Une classe d'adaptateur au conteneur de modèle qui fournit une fonctionnalité de limitation d'accès à l'élément le plus récemment ajouté à un type de conteneur sous-jacent. La classe de pile est utilisée lorsqu'il est important d'être clair que seules les opérations de pile sont exécutées sur le conteneur.
template <
class Type,
class Container=deque<Type>
>
class stack
Paramètres
Type
Type de données d'élément à stocker dans la pile.Container
Le type de conteneur sous-jacent utilisé pour implémenter la pile. La valeur d'encodage par défaut est de deque*<Type>* de classe.
Notes
Les éléments de la classe Type stipulés dans le premier paramètre de modèle d'un objet de pile sont similaires à une value_type et doivent correspondre au type d'élément dans la classe de conteneur sous-jacente Container stipulé par le deuxième paramètre de modèle. Le Type doit être assignable, afin qu'il soit possible de copier des objets de ce type et d'affecter des valeurs aux variables de ce type.
Les classes de conteneur sous-jacentes appropriées pour la pile incluent deque, liste, et vecteur, ou tout autre conteneur de séquence qui prend en charge les opération back, push_back, et pop_back. La classe de conteneur sous-jacente est encapsulée dans l'adaptateur de conteneur, qui expose uniquement l'ensemble limité des fonctions membres du conteneur de séquences en tant qu'interface publique.
Les piles sont comparables en égalité si et seulement si les éléments de la classe Type sont comparables en égalité, et sont comparables en infériorité si et seulement si les éléments de la classe Type sont comparables en infériorité.
La classe de pile prend en charge une structure de données dernière-entrée et première-sortie (LIFO). Une bonne analogie à garder à l'esprit serait de la comparer à une pile d'assiettes. Les éléments (les assiettes) peuvent être insérés, inspectés, ou supprimés uniquement depuis le haut de la pile, qui est le dernier élément à la fin du conteneur de base. La raison pour laquelle on utilise une classe de pile est la restriction à accéder seulement à l'élément supérieur.
La classe de file d'attente prend en charge une structure de données premier-entré, premier-sorti (FIFO). Une bonne analogie à garder à l'esprit serait des personnes faisant la queue devant un guichet. Les éléments (les personnes) peuvent être ajoutés à la fin de la ligne et sont supprimés au début de la ligne. L'avant et l'arrière d'une ligne peuvent tous les deux être inspectés. La raison pour laquelle on utilise la classe de file d'attente est la restriction d'accès de cette manière uniquement aux éléments de début et de fin.
La classe de priority_queue classe ses éléments afin que le plus grand élément soit toujours au dessus. Il prend en charge l'insertion d'un élément, et l'inspection et la suppression de l'élément du dessus. Une bonne analogie à garder à l'esprit serait des personnes s'alignant de manière à être rangés par âge, par taille, ou suivant tout autre critère.
Constructeurs
Construit une stack qui est vide ou qui est une copie d'un objet conteneur de base. |
Typedef
Type qui contient le conteneur de base devant être adapté par une stack. |
|
Un type d'entier non signé qui peut représenter le nombre d'éléments dans une stack. |
|
Un type qui représente le type d'objet stocké comme élément dans la stack. |
Fonctions membres
Vérifie que la stack est vide. |
|
Enlève l'élément du haut de la stack. |
|
Ajoute un élément en haut de la stack. |
|
Retourne le nombre d'éléments figurant dans le stack. |
|
Retourne une référence à un élément en haut de la stack. |
Configuration requise
Header: <stack>
Espace de noms : std
Voir aussi
Référence
Sécurité des threads dans la bibliothèque standard C++
Bibliothèque STL (Standard Template Library)