diff --git a/srcs/atomes.c b/srcs/atomes.c index 83016a2..b282a0d 100644 --- a/srcs/atomes.c +++ b/srcs/atomes.c @@ -11,9 +11,9 @@ // boucle principale (je la trouve pas jolie, est ce qu'on la met dans fusionMaillonDevis meme si ce sera plus somple a expliquer ?) void fusionDevisElements(ListeDevis *R, int *tlogR, ListeDevis *S, int *tlogS, ListeDevis *mergedList, ListeDevis *last, int *k) { + ListeDevis *current; while (*tlogR > 0 && *tlogS > 0) { - ListeDevis *current; if (strcmp((*R)->dev.nomE, (*S)->dev.nomE) < 0) { current = R; @@ -83,11 +83,13 @@ void gestionElementsHorsTailleLogique(ListeDevis *mergedList, ListeDevis *last, // fusion de maillons void fusionMaillonDevis(ListeDevis R, int tlogR, ListeDevis S, int tlogS, ListeDevis *T) { - int k; + ListeDevis last; + ListeDevis mergedList + int k; + last = NULL; + mergedList = NULL; k = 0; - ListeDevis last = NULL; - ListeDevis mergedList = NULL; fusionDevisElements (&R, &tlogR, &S, &tlogS, &mergedList, &last, &k); gestionElementsRestants (&mergedList, &last, &R, &tlogR, &k); @@ -103,6 +105,7 @@ void triFusionListeDevis(ListeDevis *ldevis, int tlog) { ListeDevis p; ListeDevis q; + ListeDevis qTemp; p = *ldevis; q = p->suiv; @@ -113,7 +116,7 @@ void triFusionListeDevis(ListeDevis *ldevis, int tlog) p = p->suiv; q = q->suiv->suiv; } - ListeDevis qTemp = p->suiv; + qTemp = p->suiv; p->suiv = NULL; triFusionListeDevis(ldevis, tlog / 2); @@ -128,7 +131,8 @@ void triFusionListeDevis(ListeDevis *ldevis, int tlog) //est ce qu'on supprime tout les elements de la liste chainee ou juste les elements de la longueure logique ? void freeListeDevis(ListeDevis *ldevis, int *tlog) { - ListeDevis pos = *ldevis; + ListeDevis pos; + pos = *ldevis; while (pos) { ListeDevis suiv = pos->suiv;