moitié tp 3

This commit is contained in:
2024-01-29 17:28:51 +01:00
parent cffb424f64
commit eb581c8a31
45 changed files with 964 additions and 16 deletions

View File

@@ -1,28 +1,37 @@
#include <stdio.h>
#include <stdlib.h>
#include "chaine.h"
struct maillon_s {
char valeur;
struct maillon_s* suivant;
};
typedef struct maillon_s maillon ;
void push(char nouv, maillon* debut){
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;
m->suivant = *debut;
*debut = m;
}
void pop(maillon* debut){
maillon* m = (maillon*) malloc (sizeof(maillon));
m->valeur = nouv;
if (debut == NULL)
m->suivant = NULL;
double pop(maillon** debut){
maillon m = **debut;
free(*debut);
if (m.suivant == NULL)
*debut = NULL;
else
m->suivant = debut;
debut = m;
*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);
}
}