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
|
t_tree *fils_droit(t_tree *racine, char *droite)
{
racine->droite = malloc(sizeof(*racine->droite) * strlen(droite));
if (racine->droite != NULL)
{
racine->droite = droite;
return (racine->droite);
}
return (NULL);
}
t_tree *fils_gauche(t_tree *racine, char *gauche)
{
racine->gauche = malloc(sizeof(*racine->gauche) * strlen(gauche));
if (racine->gauche != NULL)
{
racine->gauche = gauche;
return (racine->gauche);
}
return (NULL);
}
t_tree *creation_arbre(t_tree *racine, char *mot, char *gauche, char *droit)
{
if (racine == NULL)
{
racine = allocate_tree();
racine->cmd = dupchaine(mot);
racine->gauche = fils_gauche(racine, gauche);
racine->droite = fils_droit(racine, droit);
}
else if (racine != NULL)
{
if (racine->gauche == NULL)
racine->gauche = creation_arbre(racine->gauche, mot, gauche, droit);
else
racine->droite = creation_arbre(racine->droite, mot, gauche, droit);
}
return (racine); |
Partager