typedef struct maillon maillon, *liste, file; struct maillon { elem val; liste suiv,prec; }; void empiler(file *a,elem el) { maillon m={el,a->suiv,a}; m.suiv->prec=a->suiv=malloc(sizeof(maillon)); *a->suiv=m; } void enfiler(file *a,elem el) { maillon m={el,a,a->prec}; m.prec->suiv=a->prec=malloc(sizeof(maillon)); *a->prec=m; } void depiler(file *a) { liste l=a->suiv; a->suiv=l->suiv; a->suiv->prec=a; free(l); } elem sommet(file *a) { return a->suiv->val; } int vide (file *a) { return a->suiv==a; } void creer(file *a,int taillemax) { a->suiv=a->prec=a; } void detruire(file *a) { while(a->suiv!=a) depiler(a); }