From: Jérôme Benoit Date: Tue, 7 Mar 2017 10:45:07 +0000 (+0100) Subject: TP5: Implement functions for viewing linked list iteratively and recursively X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=ca2c69d57d5ef355b879df233a8c868c66a4ae92;p=Algorithmic_C.git TP5: Implement functions for viewing linked list iteratively and recursively Signed-off-by: Jérôme Benoit --- 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); /* ... */ }