37 lines
675 B
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);
|
|
}
|
|
} |