1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
#include <stdio.h>
#include <stdlib.h>
typedef struct arbre
{
int valeur;
struct arbre *gauche;
struct arbre *droite;
}
arbre;
arbre *ajouter (int vale, arbre * r)
{
if (r != NULL)
{
r = (arbre *) malloc (sizeof (arbre));
r->valeur = vale;
r->gauche = NULL;
r->droite = NULL;
return r;
}
else
{
if ((r->valeur) == vale)
{
return r;
}
else
{
if (vale < (r->valeur))
{
(r->gauche) = ajouter (vale, r->gauche);
}
else
{
if (vale > (r->valeur))
{
(r->droite) = ajouter (vale, r->droite);
}
return r;
}
}
}
}
void afficher (arbre * r)
{
if (r != NULL)
{
afficher (r->gauche);
printf ("%d \n", (r->valeur));
afficher (r->droite);
}
}
int main ()
{
//test
arbre *chene;
ajouter (7, chene);
ajouter (5, chene);
ajouter (2, chene);
ajouter (6, chene);
afficher (chene);
return 0;
} |
Partager