Université Nazi BONI Licence première année semestre 2
École Supérieure d’Informatique Programmation et structures de données dynamiques
Travaux pratiques 3 Les listes chaînées linéaires : gestion de la mémoire
Créer les éléments d’une liste chaînée par allocation dynamique Objectifs Gérer les éléments d’une liste chaînée
On désire stocker une suite d’entiers dans une liste. Réaliser les différentes opérations suivantes dans un programme :
1. Création d’un type de données et déclaration de variables
Définir une structure autoréférente qui possède un champ de type entier ; Utiliser ce nouveau type de données pour déclarer un pointeur t qui va contenir l’adresse du premier élément et un pointeur p qui va stocker l’adresse de l’élément en cours. 2. Insertion d’un élément dans la liste : Allouer dynamique de l’espace pour un élément C1 et affecter son adresse à la variable t ; afficher ensuite la liste à l’aide d’une boucle. Allouer dynamique de l’espace pour les éléments C3, C7 et C9 et les insérer dans la liste ; afficher ensuite la liste à l’aide d’une boucle. Allouer dynamique de l’espace pour l’élément C5 et l’insérer dans la liste entre C3 et C7 ; afficher ensuite la liste à l’aide d’une boucle. 3. Suppression d’un élément de la liste Supprimer le premier élément de la liste C1 et afficher la liste complète ; Supprimer le dernier élément de la liste C9 et afficher la liste complète ; Supprimer l’élément C5 et afficher la liste complète ; 4. Gestion de la liste avec une structure de contrôle de liste Dans un nouveau programme, définir un nouveau type structure qui va contenir quatre champs : o Un champ nb qui va stocker le nombre d’éléments présents dans la liste ; o un champ premier qui va servir à stocker l’adresse du premier élément de la liste ; o Un champ position qui va servir à stocker l’adresse de l’élément courant ; o Un champ dernier qui va servir à stocker le dernier élément de la liste ; Utiliser cette structure pour déclarer une variable t et construire la liste des entiers impaires de 0 à 20 en permettant à l’utilisateur de saisir un entier pair i de son choix. Le programme parcourt la liste et insère la valeur à son emplacement et affiche ensuite la liste.