From ca2c69d57d5ef355b879df233a8c868c66a4ae92 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Tue, 7 Mar 2017 11:45:07 +0100 Subject: [PATCH] TP5: Implement functions for viewing linked list iteratively and recursively MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- TP5/exo4/liste_chainee.c | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/TP5/exo4/liste_chainee.c b/TP5/exo4/liste_chainee.c index 4b93fc2..ddd82b1 100644 --- a/TP5/exo4/liste_chainee.c +++ b/TP5/exo4/liste_chainee.c @@ -60,12 +60,36 @@ int longueur_rec(Liste L) void visualiser_iter(Liste L) { - /* ... */ + int compteur = 0; + + printf("--Debut--\n"); + while (L != NULL) { + printf("L[%d]->value=%d\n", compteur, L->valeur); + L = L->suivant; + compteur++; + } + printf("--Fin--\n"); +} + +void _visualiser_rec(Liste L, int compteur) +{ + if (L != NULL) { + printf("L[%d]->value=%d\n", compteur, L->valeur); + compteur++; + _visualiser_rec(L->suivant, compteur); + if (compteur == (longueur_rec(L) - 1)) + printf("--Fin--\n"); + } + } void visualiser_rec(Liste L) { - /* ... */ + int compteur = 0; + + if (compteur == 0) + printf("--Debut--\n"); + _visualiser_rec(L, compteur); } int rechercher_iter(element e, Liste L) @@ -111,11 +135,12 @@ int main() L = ajouter_iter(2, L); L = ajouter_iter(1, L); L = ajouter_iter(3, L); - printf("Saisir un entier a ajouter a la site\n"); + printf("Saisir un entier a ajouter a la liste L\n"); scanf("%d", &x); L = ajouter_iter(x, L); - printf("longueur=%d\n", longueur_rec(L)); + printf("L a pour longueur %d\n", longueur_rec(L)); visualiser_iter(L); + visualiser_rec(L); /* ... */ } -- 2.34.1