repositories
/
Algorithmic_C.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TP5: Implement linked list counting iteratively and recursively
[Algorithmic_C.git]
/
TP5
/
exo4
/
liste_chainee.c
diff --git
a/TP5/exo4/liste_chainee.c
b/TP5/exo4/liste_chainee.c
index 7d550819392e5824b797f24f78b988e38c912710..4b93fc23d49a9b6d0bdae8eb345d3ad05360c86f 100644
(file)
--- a/
TP5/exo4/liste_chainee.c
+++ b/
TP5/exo4/liste_chainee.c
@@
-42,8
+42,7
@@
int longueur_iter(Liste L)
{
int longueur = 0;
{
int longueur = 0;
- while (L->suivant != NULL)
- {
+ while (L != NULL) {
L = L->suivant;
longueur++;
}
L = L->suivant;
longueur++;
}
@@
-52,7
+51,11
@@
int longueur_iter(Liste L)
int longueur_rec(Liste L)
{
int longueur_rec(Liste L)
{
- /* ... */
+ if (L != NULL) {
+ return 1 + longueur_rec(L->suivant);
+ } else {
+ return 0;
+ }
}
void visualiser_iter(Liste L)
}
void visualiser_iter(Liste L)
@@
-105,9
+108,13
@@
int main()
{
int x;
Liste L = NULL;
{
int x;
Liste L = NULL;
+ 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");
scanf("%d", &x);
L = ajouter_iter(x, L);
scanf("%d", &x);
L = ajouter_iter(x, L);
- printf("longueur=%d\n", longueur_
iter
(L));
+ printf("longueur=%d\n", longueur_
rec
(L));
visualiser_iter(L);
/* ... */
}
visualiser_iter(L);
/* ... */
}