#include #include #include "liste.h" Liste ListAllouer(void) { Liste L; L=(Liste)malloc(sizeof(Liste)); if (L != NULL) { L->NbElts = 0; L->Elts = NULL; printf("Liste Allouée\n"); return L; } else { printf("Erreur : la liste n'a pas été allouée\n"); return (NULL); } } Liste AjouterDebut (Liste l, int Elt) { Cellule cellule; cellule=(Cellule)malloc(sizeof(Cellule)); if(cellule==NULL){ return NULL; } cellule->Suivant=l->Elts; cellule->Valeur=Elt; l->NbElts++; l->Elts=cellule; return l; } Liste ListAjouterEnFin(Liste l, int Elt){ Cellule cellule; Cellule cellule_temporaire; int i; cellule=(Cellule)malloc(sizeof(Cellule)); if(cellule==NULL){ return NULL; } cellule->Valeur=Elt; cellule->Suivant=NULL; if(l->Elts != NULL){ cellule_temporaire=(Cellule)malloc(sizeof(Cellule)); cellule_temporaire=l->Elts; for (i=1;iNbElts;i++) { cellule_temporaire=cellule_temporaire->Suivant; } l->NbElts++; cellule_temporaire->Suivant=cellule; } else { l->NbElts++; l->Elts=cellule; } return l; } void afficher_liste(Liste l){ Cellule cellule; int i; cellule=malloc(sizeof(Cellule)); cellule=l->Elts; printf("Il y a %d elements dans la liste\n",l->NbElts); for(i=0;iNbElts;i++) { printf(" l'element %d a la valeur %d\n",i,cellule->Valeur); cellule=cellule->Suivant; } } int main(void) { Liste q; int i=2; q=ListAllouer(); /*Allocation de memoire a la liste*/ AjouterDebut (q,1); ListAjouterEnFin(q,3); AjouterDebut (q,2); ListAjouterEnFin(q,4); afficher_liste (q); printf("ok\n"); return 0; }