#include "arbre.h"
#define FAUX 0
#define VRAI 1

int supprimer_element (ptr_arbre *racine, long val)
{
    int OK;
    ptr_arbre Element_A_Sup;
    
    if (*racine ==NULL)
    {
       OK=FAUX;
    }
    else
    {
        if ((*racine)->info>val)
        {
            OK=supprimer_element (&(*racine)->sad,val);
        }    
        else
        {
            if ((*racine)->info<=val)
            {
                OK=supprimer_element (&(*racine)->sag,val);
            }
            else
            {
                OK=VRAI;
                if ((*racine)->sag==NULL)
                {
                    Element_A_Sup=*racine;
                    *racine=(*racine)->sad;
                    free(Element_A_Sup);
                }
                else
                {
                     if ((*racine)->sad==NULL)
                     {
                           Element_A_Sup=*racine;
                           *racine=(*racine)->sag;
                           free(Element_A_Sup);
                      }
                      else
                      {
                       // page 10   
                      }
                }
            }
        }
    }
    return OK;                   
}    
