repositories
/
Algorithmic_C.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
TP6: More K&R coding style
[Algorithmic_C.git]
/
TP5
/
exo4
/
liste_chainee.c
diff --git
a/TP5/exo4/liste_chainee.c
b/TP5/exo4/liste_chainee.c
index add8b224f8d3bab04fc1d614ba66680c3ce53a9d..a8589397a6aba3bf8da83b37936aedb2918203b3 100644
(file)
--- a/
TP5/exo4/liste_chainee.c
+++ b/
TP5/exo4/liste_chainee.c
@@
-12,7
+12,7
@@
typedef struct cellule {
struct cellule *suivant;
} Cellule, *Liste;
struct cellule *suivant;
} Cellule, *Liste;
-Cellule *creer_maillon(element e, Cellule *
suivant)
+Cellule *creer_maillon(element e, Cellule *suivant)
{
Cellule *pnouveau = malloc(sizeof(Cellule));
pnouveau->valeur = e;
{
Cellule *pnouveau = malloc(sizeof(Cellule));
pnouveau->valeur = e;
@@
-142,12
+142,12
@@
Liste supprimer_iter(element e, Liste L)
free(L);
pavant->suivant = NULL;
return pdebut;
free(L);
pavant->suivant = NULL;
return pdebut;
-
/* supprimer au début de la liste */
+ /* supprimer au début de la liste */
} else if (L->valeur == e && pavant == NULL) {
Cellule *pcourant = L;
free(L);
return pcourant->suivant;
} else if (L->valeur == e && pavant == NULL) {
Cellule *pcourant = L;
free(L);
return pcourant->suivant;
-
/* supprimer au mileu de la liste */
+ /* supprimer au mileu de la liste */
} else if (L->valeur == e) {
Cellule *pcourant = L;
free(L);
} else if (L->valeur == e) {
Cellule *pcourant = L;
free(L);
@@
-177,7
+177,11
@@
Liste inverser_rec(Liste L)
void liberer_iter(Liste L)
{
void liberer_iter(Liste L)
{
-
+ while (!L) {
+ Cellule *pcourant = L;
+ free(L);
+ L = pcourant->suivant;
+ }
}
void liberer_rec(Liste L)
}
void liberer_rec(Liste L)
@@
-219,8
+223,10
@@
int main()
L = supprimer_iter(2, L);
visualiser_rec(L);
visualiser_iter(L);
L = supprimer_iter(2, L);
visualiser_rec(L);
visualiser_iter(L);
- liberer_rec(L);
+ //liberer_rec(L);
+ liberer_iter(L);
/* ... */
}
/****************************************************************************/
/* ... */
}
/****************************************************************************/
+/* vim:noet:ts=8:sw=8:textwidth=80 */