Les ensembles en C++ (Classe set <set> - Bibliothèque STL)
La classe set, définie dans l’en-tête , est un conteneur où chaque élément, appelé clé, est unique et trié par ordre croissant, sans doublons.
cours de langage c++
La classe set, définie dans l’en-tête , est un conteneur où chaque élément, appelé clé, est unique et trié par ordre croissant, sans doublons.
Une file d'attente prioritaire est une extension de la file d'attente dans laquelle chaque élément possède une priorité. Les éléments sont retirés non pas dans l'ordre d'insertion, mais selon leur niveau de priorité : l'élément de plus haute priorité est toujours retiré en premier.
La classe queue, définie dans , est un adaptateur de conteneur conçu pour l'insertion à une extrémité et la suppression à l'autre. Elle suit le principe FIFO (First In, First Out) : le premier élément inséré est le premier à être retiré.
La classe stack, définie dans , est un adaptateur conçu pour trois opérations : push (empiler), pop (dépiler) et top (sommet). Elle suit le principe LIFO (Last In, First Out) : le dernier élément inséré est le premier retiré.
La classe array, définie dans l'en-tête , est une collection d'éléments du même type stockés dans des emplacements de mémoire contigus. C'est un conteneur de séquence à taille fixe : le nombre d'éléments est déterminé à la compilation et ne peut pas changer à l'exécution.
La classe list, définie dans l'en-tête , est un conteneur de séquence implémenté comme une liste doublement chaînée. Chaque nœud possède une section de données et deux pointeurs : un vers le nœud précédent et un vers le nœud suivant.
Une deque (double ended queue — file à deux bouts) est un conteneur de séquence qui permet l'expansion et la contraction aux deux extrémités. Définie dans l'en-tête , elle est similaire à vector mais avec des insertions et suppressions efficaces en tête et en queue.
La programmation compétitive combine deux thèmes : la conception d'algorithmes et leur implémentation. L'objectif est d'inventer des algorithmes efficaces qui résolvent des problèmes de calcul bien définis, en combinant des méthodes connues et de nouvelles idées. Les solutions sont évaluées en les testant sur un ensemble de cas de test.
La classe vector est un conteneur de la bibliothèque STL défini dans l’en-tête . Elle représente une séquence dynamique d’éléments de même type stockés en mémoire contiguë et accessibles par indice.
Un itérateur est une abstraction d'un pointeur. Il est utilisé pour parcourir les éléments d'un conteneur, un processus appelé itération. Contrairement à un pointeur brut, un itérateur est une classe disposant d'opérations prédéfinies et contrôlées.
La Standard Template Library (STL) est le résultat d'années de recherche visant à résoudre deux problèmes fondamentaux : la réutilisation des logiciels et la séparation des fonctionnalités.
Les listes chaînées, piles et files sont des collections linéaires. Un arbre est une collection non linéaire. Un cas particulier important est l'arbre binaire de recherche (ABR), dans lequel les valeurs du sous-arbre gauche sont inférieures à la racine, et celles du sous-arbre droit lui sont supérieures.