Vous êtes sur la page 1sur 4

NOM: yassine lamouadden

#include <stdio.h>
#include <stdlib.h>

typedef struct maillon{

int data;
struct maillon *next;

}maillon;

typedef struct pile{

maillon *Psommet;

}Tpile;

int pile_vide(Tpile P){

return P.Psommet==NULL;

int sommet(Tpile P){

if(!pile_vide(P))

return (P.Psommet)->data;

int haut_pile(Tpile P){


int count;
if(pile_vide(P))
printf("la pile est vide ");

else
{

count=1;
maillon *m;
m=P.Psommet;
while(m->next!=NULL){

m=m->next;
count++ ;
}

return count;

void insert_beg(Tpile *P,int valeur){

maillon *M=malloc(sizeof(maillon));

M->data=valeur;

M->next=P->Psommet;

P->Psommet=M;

int delet_beg(Tpile *P){


int valeur;
if(P->Psommet==NULL){

printf("la pile est vide");


return -1;
}
else{

maillon *first_maillon;
first_maillon=P->Psommet;
P->Psommet=first_maillon->next;
valeur=first_maillon->data;
first_maillon->next==NULL;
free(first_maillon);
return valeur;

}
int afficher_sommet(Tpile P){

if(P.Psommet==NULL){
printf("la pile est vide");
return -1;

else {

return P.Psommet->data;

void afficher_pile(Tpile *P){

maillon *current_maillon;
if(!pile_vide(*P)){

while(current_maillon!=NULL){

printf("%d->",current_maillon->data);
current_maillon=current_maillon->next;

int main(int argc, char *argv[]) {

Tpile P1;
int nbr,n,i;
printf("remplir la pile P1 :\n");

printf("entrer le nombre des elements de la pile P1 :");


scanf("%d",&nbr);

for(i=0;i<nbr;i++){

printf("entrer l'element numero %d :",i+1);


scanf("%d",&n);
insert_beg(&P1,n);

printf("\n");
if(pile_vide(P1))
printf("la pile est vide \n");
else{

printf("afficher les element de la pile P1:\n");


afficher_pile(&P1);
}

printf("\n");
printf("la sommet de la pile est : %d \n",afficher_sommet(P1));

printf("la longeur de la pile est : %d \n",haut_pile(P1));

int choice;

printf("_________________________ \n");
printf("voulez vous supprimer un element dans la pile ?\n ");
printf("1 : oui \n");
printf("0: non \n");
scanf("%d",&choice);

while(choice!=0){

printf("%d",delet_beg(&P1));
afficher_pile(&P1);

printf("_________________________ \n");

printf("voulez vous supprimer un element dans la pile ?\n ");


printf("1 : oui \n");
printf("0: non \n");
scanf("%d",&choice);

return 0;
}

Vous aimerez peut-être aussi