Les arbres binaires : la suppression

berlingo-48 Messages postés 45 Statut Membre -  
 regis -
Bonsoir,

je viens d'écrire un programme qui supprime un noeud dans un arbre ! simple je ne sais pas comment l'écrire en utilisant des fonctions récursive ! pouvez vous m'aider svp ?

v o i d s u p p r ime _ n o e u d ( A B R ** p e r e , i n t x ) {
wh i l e ( * p e r e ) {
i f ( (* per e)-->va leur==x ) {
ABR * n o e u d x=*p e r e ;
i f ( noeud x-->ga uche==NUL L ) * per e = n oeud x-->droi te ;
e l s e i f ( n o e u d x-->d r o i t e==NUL L ) * p e r e = n o e u d x-->g a u c h e ;
e l s e {
A B R * n o e u d _ d r o i t ;
A B R ** p e r e _ n o e u d _ d r o i t=&n o e u d x-->d r o i t e ;
wh i l e ( ( * p e r e _ n o e u d _ d r o i t )-->g a u c h e )
p e r e _ n o e u d _ d r o i t=&( *p e r e _ n o e u d _ d r o i t )-->g a u c h e ;
n o e u d _ d r o i t = * p e r e _ n o e u d _ d r o i t ;
*p e r e _ n o e u d _ d r o i t= n o e u d _ d r o i t--> d r o i t e ;
noeud_droit-->gauche=noeudx-->gauche ;
n o e ud_ dr o i t-->dr o i te=n oe u dx-->d r oi t e ;
*p e r e=n o e u d _ d r o i t ;
};
free ( noeudx ) ;
r e t u r n ;
e l s e i f ( ( * p e r e )-->v a l e u r<x ) p e r e=&( } ( *p e r e )-->g a u c h e ) ;
e l s e p e r e=&( ( *p e r e )-->d r o i t e ) ;
}
}

3 réponses

KX Messages postés 19031 Statut Modérateur 3 020
 
"je viens d'écrire un programme qui supprime un noeud dans un arbre"

1) ça saute aux yeux que c'est un copier-coller depuis un PDF
2) recherche rapide sur Google, et ô surprise, c'est la correction du TP7-Exercice 9

Petit rappel : Demander de l'aide pour vos exercices sur CCM
2
regis
 
Je viens de tomber sur cela : http://chgi.developpez.com/arbre/binaire/
ça peut peut-être t'interésser
1
fabien2211 Messages postés 20 Statut Membre 1
 
Bonjour
Est t-il encore temps de répondre? Que je sache si je prend la peine de regarder^^
0