Files
DEV/DEV1.1/TP28/chaine.c

37 lines
675 B
C

#include <stdio.h>
#include <stdlib.h>
#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);
}
}