11 Janvier

This commit is contained in:
Adrian POURCHOT 2023-01-11 15:18:44 +01:00
parent 2da55ee91e
commit bc03374f78

View File

@ -13,23 +13,25 @@ int empty (pile *p){
} }
void push (pile **p,char v){ void push (pile **p,char v){
pile *nouvelle=malloc(sizeof(pile)); pile *nouveau=malloc(sizeof(pile));
nouvelle->val=v; nouveau->val=v;
nouvelle->suiv=*p; nouveau->suiv=*p;
*p=nouveau;
} }
char pop(pile **p) { char pop(pile **p) {
int valDepiler;
pile *temp=malloc(sizeof(pile)); pile *temp=malloc(sizeof(pile));
temp=*p; temp = (*p)->suiv;
(*p)->val=(*p)->suiv->val; valDepiler = (*p)->val;
(*p)->suiv=(*p)->suiv->suiv; free(*p);
return temp->val; *p = temp;
free(temp); return valDepiler;
} }
int main(){ int main(){
char c=0; char c=0;
pile *p=NULL; pile *p=malloc(sizeof(pile));
printf("La pile attend vos ordres\n"); printf("La pile attend vos ordres\n");
while (c!='q'){ while (c!='q'){
@ -38,13 +40,12 @@ int main(){
scanf("%c",&c); scanf("%c",&c);
push((&p),c); push((&p),c);
printf("Le caractère %c a été ajouté\n",c); printf("Le caractère %c a été ajouté\n",c);
}else{ } if(c=='-'){
if(c=='-'){
if (empty(p)==1){ if (empty(p)==1){
printf("La pile est vide !\n"); printf("La pile est vide !\n");
}else{ }else{
printf("Le caractère %c a été supprimé\n",pop(&p)); c=pop(&p);
} printf("Le caractère %c a été supprimé\n",c);
} }
} }
} }