#include #include #include "chaine.h" void push(char nouv, maillon** debut){ maillon* m = (maillon*) malloc (sizeof(maillon)); m->valeur = nouv; if (debut == NULL) m->suivant = NULL; else m->suivant = *debut; *debut = m; } double pop(maillon** debut){ maillon m = **debut; free(*debut); if (m.suivant == NULL) *debut = NULL; else *debut = m.suivant; return m.valeur; } int empty(const maillon* debut){ return debut == NULL; } double top (const maillon* debut){ return debut->valeur; } void clear (maillon** debut){ while (empty(*debut)){ pop(debut); } }