TP5: Implement functions for viewing linked list iteratively and recursively
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 7 Mar 2017 10:45:07 +0000 (11:45 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 7 Mar 2017 10:45:07 +0000 (11:45 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
TP5/exo4/liste_chainee.c

index 4b93fc23d49a9b6d0bdae8eb345d3ad05360c86f..ddd82b1f5ac8330bc70c06cf72aacc8ce323c19a 100644 (file)
@@ -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);
        /* ... */
 }