From c3ea7336213dc28e517bcfde66d78b3ef284ba20 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Thu, 16 Dec 2021 15:28:57 +0100 Subject: [PATCH] added first slides on the exercise --- slides/cours_11.md | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/slides/cours_11.md b/slides/cours_11.md index 22fae35..57c2f7f 100644 --- a/slides/cours_11.md +++ b/slides/cours_11.md @@ -703,6 +703,44 @@ $$ # Liste doublement chaînée -* La liste simplement chaînée permet un seul sens de parcours d'éléments. -* +## Application navigateur ou éditeur de texte + +* Avec une liste chaînée: + * Comment implémenter les fonctions `back` et `forward` d'un navigateur?? + * Comment implémenter les fonctions `undo` et `redo` d'un éditeur de text? + +. . . + +Pas possible. + +## Solution? + +. . . + +* Garder un pointeur supplémentaire sur l'élément précédent et pas seulement le + suivant. + +. . . + +* Cette structure de donnée est la **liste doublement chaînée** ou **doubly + linked list**. + +# Liste doublement chaînée + +## Exercice + +* Partir du dessin suivant et par **groupe de 5** + + + +. . . + +1. Écrire les structures de données pour représenter la liste double chaînée. +2. Écrire les fonctionnalités suivantes + +```C + +``` + + -- GitLab