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) {
pile *temp=malloc(sizeof(pile)); int valDepiler;
temp=*p; pile *temp=malloc(sizeof(pile));
(*p)->val=(*p)->suiv->val; temp = (*p)->suiv;
(*p)->suiv=(*p)->suiv->suiv; valDepiler = (*p)->val;
return temp->val; free(*p);
free(temp); *p = 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{ c=pop(&p);
printf("Le caractère %c a été supprimé\n",pop(&p)); printf("Le caractère %c a été supprimé\n",c);
}
} }
} }
} }