Tfe

Ongi etorri tfe-ren webgunera...

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));
    }

}