STL LIST INTRODUCTION FONDEMENT THEORIQUE Plan DEMONSTRATION: exemple de code Biblioghraphie: INTRODUCTION: • La STL (Standard Template Library) est une bibliothèque logicielle puissante et polyvalente qui fait partie intégrante de la programmation orientée objet en C++. elle offre une variété de conteneurs (comme les vecteurs, les listes, les piles, les files etc.), des algorithmes (comme le tri, la recherche, la manipulation de chaînes, etc.) et des itérateurs (pour parcourir les éléments d'une structure de données). 3 Définition et Caractéristiques de la STL List: • Définition: • La STL list est une structure de données séquentielle qui permet de stocker et de manipuler une collection ordonnée d'éléments. Chaque élément de la liste est lié au précédent et au suivant, formant ainsi une chaîne dynamique. Cette structure offre une grande flexibilité, car la taille de la liste peut varier au fur et à mesure que des éléments sont ajoutés ou supprimés. 4 Caractéristiques : 1. Stockage dynamique des éléments : La liste de la STL offre un stockage dynamique, ce qui signifie que vous pouvez ajouter ou supprimer des éléments à mesure que votre programme s'exécute, sans vous soucier de la taille initiale de la liste. 2. Insertion et suppression efficaces aux extrémités : Ajouter ou supprimer des éléments au début ou à la fin de la liste est une opération rapide, ce qui est particulièrement utile pour les applications nécessitant des mises à jour fréquentes de la structure de données. 3. Accès séquentiel aux éléments : Vous pouvez accéder aux éléments de la liste dans l'ordre dans lequel ils sont stockés, ce qui facilite les opérations de traitement séquentielles sur vos données. 4. Gestion automatique de la mémoire : La liste de la STL gère automatiquement la mémoire, ce qui signifie que vous n'avez pas à vous soucier de l'allocation ou de la libération de la mémoire lorsque vous ajoutez ou supprimez des éléments. 5. Itérateurs pour parcourir la liste : Les itérateurs sont des outils puissants pour parcourir la liste, vous permettant d'accéder, de modifier et de manipuler les éléments de manière flexible. FONDEMENT THEORIQUE: • Structure des Nœuds Chaînés : • Chaque élément dans une liste chaînée est représenté par un nœud. Chaque nœud contient deux parties principales : • La Valeur : C'est la donnée que vous souhaitez stocker dans la liste. Cela peut être n'importe quel type de données, en fonction de ce que vous avez spécifié lors de la déclaration de la liste. • Les Pointeurs : Chaque nœud contient des pointeurs vers le nœud précédent et le nœud suivant dans la liste. Ces pointeurs permettent de parcourir la liste dans les deux sens, ce qui est l'une des caractéristiques clés des listes chaînées. 7 • Allocation Dynamique : • Contrairement à un tableau statique où la mémoire est allouée en une seule fois avec une taille fixe, les listes chaînées utilisent l'allocation dynamique. Cela signifie que la mémoire est allouée au fur et à mesure que de nouveaux éléments sont ajoutés à la liste. Cela permet à la liste de s'adapter dynamiquement à la taille requise, sans avoir à spécifier une taille fixe à l'avance. L'allocation dynamique est généralement réalisée à l'aide de l'opérateur ‘new’ en C++ pour allouer de nouveaux nœuds et de l'opérateur ‘delete’ pour libérer la mémoire lorsque les nœuds ne sont plus nécessaires. 8 DEMONSTRATION: exemple de code Déclaration: Insertion: #include <iostream> #include <iostream> #include <list> #include <list> int main() { std::list<int> myList; // ... } int main() { std::list<int> myList; // Insertion myList.push_front(5); myList.push_back(10); // ... } 9 • Parcours: 10 • Suppression 11 Accès: 12 • Gestion de la taille • Modification (TRI) 14 Biblioghraphie: • https://ftp.traduc.org/doc-vf/gazettelinux/html/1998/lecture/issue-34/lg-34-6.html • https://www.geeksforgeeks.org/list-cpp-stl • https://en.cppreference.com/w/cpp/container/list 15 Merci pour votre attention