1 / 20

Définition d’un maillon de liste

Définition d’un maillon de liste. En langage algorithmique. Exemple de traduction en C. typedef struct maillon { T info; struct maillon * succ ; } maillon ; typedef maillon * liste ;. Manipulation d’une LSC. Exemples. 1. Tester la présence d’un élément

lewis
Download Presentation

Définition d’un maillon de liste

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. Définition d’un maillon de liste En langage algorithmique Exemple de traduction en C typedefstructmaillon { T info; structmaillon *succ; } maillon; typedefmaillon *liste;

  2. Manipulation d’une LSC

  3. 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 !

  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 !

  16. Insérer un élément dans une LSC triée • Cas général : cœur de liste

  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

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

  19. Supprimer un élément d’une LSC triée • Le traitement principal reste le même que celui de l’exemple 3

  20. Supprimer un élément d’une LSC triée • En revanche, on peut optimiser le parcours itératif

More Related