1 / 20

II. Chaînage, SDD séquentielles

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. Simples Manipulations de pointeurs. Exemples. Objectifs pédagogiques

Télécharger la présentation

II. Chaînage, SDD séquentielles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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

  2. Manipulation d’une LSC Simples Manipulations de pointeurs

  3. Exemples • 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

  4. Tester la présence d’un élément • Premier contact avec le langage algorithmique

  5. Tester la présence d’un élément • Une seconde version • Economie d’une variable contre entorse à une bonne pratique • à vous de choisir votre « camp »

  6. Créer une LSC depuis la ligne de cmd • A • A • B • B >A >B Variable l : adresse de la tête

  7. Créer une LSC depuis la ligne de cmd • Déclarations : à noter : donnée modifiée : l se comporte comme une variable globale • Cas de la tête de liste

  8. Créer une LSC depuis la ligne de cmd • Reste de la liste • Quel est l’intérêt des variables queue et nouveau ?

  9. Créer une LSC depuis la ligne de cmd • Alternative sans utiliser la variable nouveau

  10. Supprimer un élément d’une LSC • A • D • C prec cour cour • B

  11. Supprimer un élément d’une LSC • Hypothèse : liste non vide • Cas de la tête de liste Cas spécial de la tête de liste

  12. Supprimer un élément d’une LSC • Reste de la liste Cas général : action 1. la suppression (attention aux raccords) Cas général : action 2. l’itération : faire mieux que pour l’ex 3

  13. Insérer un élément dans une LSC triée • A • D prec cour • B • C

  14. Insérer un élément dans une LSC triée • Cas spécial : l est vide : la donnée l est modifiée ! Cas spécial de la liste vide

  15. Insérer un élément dans une LSC triée • Cas spécial : insertion en tête de liste : la donnée l est modifiée ! Cas spécial de l’insertion en tête de liste

  16. Insérer un élément dans une LSC triée • Cas général : cœur de liste Cas général : action 1. la suppression (attention aux raccords) Cas général : action 2. l’itération

  17. Insérer un élément dans une LSC triée • 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 Cas spécial de l’insertion en queue de liste

  18. Supprimer un élément d’une LSC triée • Adaptation de l’exemple 3 • Il faut sécuriser : la liste peut être vide Cas de la tête de liste

  19. Supprimer un élément d’une LSC triée • Le traitement principal reste le même que celui de l’exemple 3 Cas général : action 1. la suppression (attention aux raccords)

  20. Supprimer un élément d’une LSC triée • En revanche, on peut optimiser le parcours itératif Cas général : action 2. l’itération : faire mieux que pour l’ex 3

More Related