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

37 lines
675 B
C
Raw Permalink Normal View History

2024-01-08 14:05:33 +01:00
#include <stdio.h>
#include <stdlib.h>
2024-01-29 17:28:51 +01:00
#include "chaine.h"
2024-01-08 14:05:33 +01:00
2024-01-29 17:28:51 +01:00
void push(char nouv, maillon** debut){
2024-01-08 14:05:33 +01:00
maillon* m = (maillon*) malloc (sizeof(maillon));
m->valeur = nouv;
if (debut == NULL)
m->suivant = NULL;
else
2024-01-29 17:28:51 +01:00
m->suivant = *debut;
*debut = m;
2024-01-08 14:05:33 +01:00
}
2024-01-29 17:28:51 +01:00
double pop(maillon** debut){
maillon m = **debut;
free(*debut);
if (m.suivant == NULL)
*debut = NULL;
2024-01-08 14:05:33 +01:00
else
2024-01-29 17:28:51 +01:00
*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);
}
2024-01-08 14:05:33 +01:00
}