A
This commit is contained in:
4
DEV1.1/TP29/TP29_reponses.txt
Normal file
4
DEV1.1/TP29/TP29_reponses.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
----- TP29 : Piles -----
|
||||
|
||||
1.
|
||||
|
50
DEV1.1/TP29/test.c
Normal file
50
DEV1.1/TP29/test.c
Normal file
@@ -0,0 +1,50 @@
|
||||
# include <stdio.h>
|
||||
# include <stdlib.h>
|
||||
|
||||
struct maillon_s {
|
||||
char valeur;
|
||||
struct maillon_s* suivant;
|
||||
};
|
||||
|
||||
typedef struct maillon_s pile;
|
||||
|
||||
|
||||
void push(pile* p, char c) {
|
||||
pile* s = p;
|
||||
s = (pile*) malloc(sizeof(pile));
|
||||
p->valeur = c;
|
||||
p->suivant = s;
|
||||
}
|
||||
|
||||
int empty(pile* p) {
|
||||
return (p == NULL);
|
||||
}
|
||||
|
||||
|
||||
char pop(pile* p) {
|
||||
if (!empty) {
|
||||
pile* s = p;
|
||||
free(p);
|
||||
return s->valeur;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void affiche_pile(pile* p) {
|
||||
pile* s;
|
||||
for (s = p; s->suivant != NULL; s = s->suivant) {
|
||||
printf("| %c |\n", s->valeur);
|
||||
}
|
||||
printf("-----\n");
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
pile* p;
|
||||
push(p, 'A');
|
||||
affiche_pile(p);
|
||||
push(p, 'B');
|
||||
affiche_pile(p);
|
||||
push(p, 'C');
|
||||
affiche_pile(p);
|
||||
return EXIT_SUCCESS;
|
||||
}
|
Reference in New Issue
Block a user