Old stuff/ecole_etude_fac_de_pau/licence_2/struct/tp6/arbrebin.c
(Deskargatu)
#include "arbrebin.h"
donneesElem* contenu(NOEUD n)
{
return n.etiquette;
}
arbre arbre_vide()
{
return NULL;
}
int est_vide(arbre a)
{
return(a==NULL);
}
arbre racine(arbre a)
{
return a;
}
arbre gauche(arbre a)
{
return a->g;
}
arbre droit(arbre a)
{
return a->d;
}
arbre construire(NOEUD o,arbre left,arbre right)
{
arbre a;
a=(arbre)malloc(sizeof(NOEUD));
a->etiquette=contenu(o);
a->g=left;
a->d=right;
return a;
}
arbre insertion(arbre a,donneesElem elt)
{
arbre current;
arbre prec=NULL;
NOEUD n;
donneesElem aux;
int i;
current=a;
if (current == NULL){
n.etiquette=(donneesElem*)malloc(sizeof(donneesElem));
*n.etiquette=elt;
current=construire(n,NULL,NULL);
return current;
}
else {
aux = *contenu(*current);
if ( aux > elt) {
(*current).g = insertion(gauche(current),elt);
}
else {
(*current).d=insertion(droit(current),elt);
}
}
return current;
}
void affichage(arbre a)
{
if (a!=NULL)
{
affichage(gauche(a));
printf("Valeur de l'element : %d \n",*contenu(*a));
affichage(droit(a));
}
}