Autorise
Autorise
Autorise
//Declaration fel .h :
typedef struct
{
int num;
char type [20];
int etat;
} wagon;
return(l);
}
p->suivant = nouv;
}
return(l);
}
//Rechercher dans une liste simplement chainée retourne 1 si existe 0 sinon avec
l'affichage:
}
tmp=tmp->suivant;
}
return existe;
}
void affichage(liste l)
{
while(l!=NULL)
{
printf("%d->",l->l.num);
printf("%s->",l->l.type);
printf("%d->",l->l.etat);
l=l->suivant;
}
liste Supprimerwagon(liste l)
{
cellule *temp,*sup,*prec;
if (l!=NULL)
{
prec=l;
temp=l->suivant;
while(temp!=NULL)
{
while(temp!=NULL&&temp->wag.etat==0)
{
sup=temp;
temp=temp->suivant;
prec->suivant=temp;
free(sup);
}
if (temp!=NULL)
{
prec=temp;
temp=temp->suivant;
}
}
}
else
{
printf("liste vide\n");
}
return l;
}
***********************************PILE*******************************************
//Déclaration:
int pile_vide(pile p)
{
if(p==NULL)
return 1;
else
return 0;
}
int consulter(pile p)
{
if(pile_vide(p)==0)
return p->val;
}
//EMPILER:
nouv=malloc(sizeof(cellule));
nouv->val=x;
nouv->suivant=p;
p=nouv;
return p;
}
//DEPILER:
if(pile_vide(p)==0)
{
suppr=p;
p=p->suivant;
free(suppr);
}
else
{
printf("PILE VIDE !\n);
}
return p;
}
********************************************FILE***********************************
********
//Déclaration:
//Initialisation de la file:
file initialiser()
{
file f;
f.tete=NULL;
f.queue=NULL;
return f;
}
//File vide :
int file_vide(file f)
{
if((f.tete==NULL)&&(f.queue==NULL))
return 1;
else
return 0;
}
//Consulter sommet:
//ENFILER:
nouv=malloc(sizeof(cellule));
nouv->val=x;
nouv->suivant=NULL;
if(file_vide(f)==1)
{
f.tete=nouv;
f.queue=nouv;
}
else
{
(f.queue)->suivant=nouv;
f.queue=nouv;
}
return f;
}
**************************************ABR***************************************
void ParcoursPrefixe(Arbre R)
{
if (R!=NULL)
{
printf("\n Racine = %d", R->X);
ParcoursPrefixe(R->FG);
ParcoursPrefixe(R->FD);
}
}
void ParcoursInfixe(Arbre R)
{
if (R!=NULL)
{
ParcoursInfixe(R->FG);
printf("\n Racine = %d", R->X);
ParcoursInfixe(R->FD);
}
}
void ParcoursPostfixe(Arbre R)
{
if (R!=NULL)
{
ParcoursPostfixe(R->FG);
ParcoursPostfixe(R->FD);
printf("\n Racine = %d", R->X);
}
}