User Tools

Site Tools


cpp:syntax:stl:container

This is an old revision of the document!


Les containers dans la STL

Dans la STL est appellé “container” une classe qui stocke plusieurs éléments d'un même type.

Nous retrouvons parmi les classes containers de la STL l'ensemble des structure de données habituelles correspondant à des séquences d'éléments ou au contraire des dictionnaires.

Les containers par type

  • Séquence d'éléments

array un tableau statique (de taille fixe).

vector un tableau dynamique (de taille variable).

vector une structure permettant l'insertion ou la suppression rapide des éléments soit au début soit à la fin de la séquence.

forward_list une liste simplement chaînée.

list une liste doublement chaînée.

  • Les séquences d'éléments ordonnés

Dans ce cas, les éléments stockés dans la structure sont ordonnés. L'énumération des éléments dans ce cas retourne les éléments en débutant par le plus petit et allant jusqu'au plus grand.

set un ensemble d'éléments ordonnés.

map un dictionnaire dont les éléments sont référencés et ordonnées par rapport à une clé qui identifie chaque élément. Cette structure supporte plusieurs occurences d'un même élément.

multiset un ensemble d'éléments ordonnés.

multimap un dictionnaire dont les éléments sont référencés et ordonnées par rapport à une clé qui identifie chaque élément. Cette structure supporte plusieurs occurences d'un même élément.

  • Les séquences d'éléments non-ordonnés

Dans ce cas, les éléments stockés dans la structure ne sont pas ordonnés. L'énumération des éléments dans ce cas retourne les éléments dans un ordre arbitraire dépendant de l'implantation. Les implantations standards utilisent des fonctions de hashages pour générer offrir un accès rapide aux données.

unordered_set un ensemble d'éléments ordonnés.

unordered_map un dictionnaire dont les éléments sont référencés et ordonnées par rapport à une clé qui identifie chaque élément. Cette structure supporte plusieurs occurences d'un même élément.

unordered_multiset un ensemble d'éléments ordonnés.

unordered_multimap un dictionnaire dont les éléments sont référencés et ordonnées par rapport à une clé qui identifie chaque élément. Cette structure supporte plusieurs occurences d'un même élément.

  • Les adaptateurs

Un adaptateur fournit une surcouche qui ajouter à un containeur gérant des sequences d'éléments une interface pour utiliser cette structure comme une pile, une queue ou une queue avec priorité.

stack offre une interface de type pile (structure LIFO).

queue offre une interface de type queue (structure FIFO).

priority_queue offre une interface de type queue avec priorité.

cpp/syntax/stl/container.1617782135.txt.gz · Last modified: 2021/04/07 07:55 by bmonsuez