TP5: fix the iterative search function in linked list
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 7 Mar 2017 14:45:52 +0000 (15:45 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 7 Mar 2017 14:45:52 +0000 (15:45 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
TP5/exo4/Makefile
TP5/exo4/liste_chainee.c

index 6f1791e9f53fb9222a44d3e32b0969f22e6f3e6b..b8af8ba760a444b755d9ceea1c1e5d5c14001ff7 100644 (file)
@@ -11,7 +11,7 @@
 #
 # Automatic dependencies code from:
 # http://make.mad-scientist.net/papers/advanced-auto-dependency-generation/#tldr
-BINARY_NAME=list_chainee
+BINARY_NAME=liste_chainee
 BUILD_TYPE=debug
 
 # ====================================
index 96baad731bc28a9c2327ea83758395dd0c060638..587cac341053de858d7805beec069d669232dddc 100644 (file)
@@ -97,10 +97,12 @@ bool rechercher_iter(element e, Liste L)
 {
        bool rt_val = false;
 
-       while (L != NULL && L->valeur != e) {
-               L = L->suivant;
-               if (L->valeur == e)
+       while (L != NULL) {
+               if (L->valeur == e) {
                        rt_val = true;
+                       break;
+               }
+               L = L->suivant;
        }
        return rt_val;
 }
@@ -142,14 +144,16 @@ 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 liste L\n");
+       L = ajouter_iter(4, L);
+       printf("Saisir un entier a chercher dans la liste L\n");
        scanf("%d", &x);
-       L = ajouter_iter(x, L);
        printf("L a pour longueur %d\n", longueur_rec(L));
        visualiser_iter(L);
        visualiser_rec(L);
-       if (rechercher_iter(3, L))
-               printf("Element 3 est present dans L\n");
+       if (rechercher_iter(x, L))
+               printf("L'element %d est present dans L\n", x);
+       else
+               printf("L'element %d n'est pas present dans L\n", x);
        /* ... */
 }