Transcript Document
1 II. Chaînage, SDD séquentielles Chaînage et LSC : motivation et principe Manipuler la LSC : exemples Variantes : LDC, liste circulaire, … Etude de cas : réalisation d’un buffer clavier Manipulation d’une LSC 2 Simples Manipulations de pointeurs Séquentiel LSC Manipulation Principe Exemples 3 Objectifs pédagogiques S’approprier les techniques de manipulation de base Se familiariser avec le langage algorithmique Les exemples 1. Tester la présence d’un élément 2. Créer une LSC depuis la ligne de commande 3. Supprimer un élément d’une LSC 4. Insérer un élément dans une LSC triée 5. Supprimer un élément d’une LSC triée Séquentiel LSC Manipulation Exemples Tester la présence d’un élément 4 Premier contact avec le langage algorithmique Séquentiel LSC Manipulation Exemple 1 Tester la présence d’un élément 5 Une seconde version Economie d’une variable contre entorse à une bonne pratique à vous de choisir votre « camp » Séquentiel LSC Manipulation Exemple 1 Créer une LSC depuis la ligne de cmd 6 >A >B A B Variable l : adresse de la tête Séquentiel LSC A Manipulation B Exemple 2 Créer une LSC depuis la ligne de cmd 7 Déclarations : à noter : donnée modifiée : l se comporte comme une variable globale Cas de la tête de liste Séquentiel LSC Manipulation Exemple 2 Créer une LSC depuis la ligne de cmd 8 Séquentiel Reste de la liste Quel est l’intérêt des variables queue et nouveau ? LSC Manipulation Exemple 2 Créer une LSC depuis la ligne de cmd 9 Séquentiel Alternative sans utiliser la variable nouveau LSC Manipulation Exemple 2 Supprimer un élément d’une LSC 10 A Séquentiel LSC prec cour cour B C D Manipulation Exemple 2 Supprimer un élément d’une LSC 11 Hypothèse : liste non vide Cas de la tête de liste Cas spécial de la tête de liste Séquentiel LSC Manipulation Exemple 3 Supprimer un élément d’une LSC 12 Reste de la liste Cas g Cas g Séquentiel LSC Manipulation Exemple 3 Insérer un élément dans une LSC triée 13 prec A Séquentiel B LSC cour C Manipulation D Exemple 2 Insérer un élément dans une LSC triée 14 Cas spécial : l est vide : la donnée l est modifiée ! Séquentiel LSC Manipulation Exemple 4 Insérer un élément dans une LSC triée 15 Cas spécial : insertion en tête de liste : la donnée l est modifiée ! Séquentiel LSC Manipulation Exemple 4 Insérer un élément dans une LSC triée 16 Cas général : cœur de liste Cas généra Séquentiel LSC Manipulation Exemple 4 Insérer un élément dans une LSC triée 17 Toujours se poser la question : Est-il nécessaire d’effectuer un traitement spécial pour La tête de liste La queue de liste Ici : cas spécial : la queue de liste Ca Séquentiel LSC Manipulation Exemple 4 Supprimer un élément d’une LSC triée 18 Séquentiel Adaptation de l’exemple 3 Il faut sécuriser : la liste peut être vide LSC Manipulation Exemple 5 Supprimer un élément d’une LSC triée 19 Le traitement principal reste le même que celui de l’exemple 3 Cas général : ac Séquentiel LSC Manipulation Exemple 5 Supprimer un élément d’une LSC triée 20 En revanche, on peut optimiser le parcours itératif Cas général : actio Séquentiel LSC Manipulation Exemple 5