Bonjour,
J'ai un petit problème j'ai une arbre normale et je veux supprimer un noeud je ne sais pas comment faire et si ce noeud contient des fils est ce que je supprime aussi ces fils répondez moi vite stp
Bonjour,
J'ai un petit problème j'ai une arbre normale et je veux supprimer un noeud je ne sais pas comment faire et si ce noeud contient des fils est ce que je supprime aussi ces fils répondez moi vite stp
voila la structure de mon arbre
en faite la question et de supprimmer les noeuds ayant un d> valeur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 struct arbre{ DATA *d; struct arbre *fils; struct arbre *frere; }
et si je supprime un noeud pere alors qu'est ce que je doit faire avec ces fils
Ca dépend de ce que tu veux faire de ton arbre, comme je l'ai déjà dit. On ne peux pas décider à ta place. Tu peux soit décider de supprimer toute la branche sous le noeud que tu supprime, soit décider de supprimer juste le noeud et de "greffer" la branche coupée sous le père du noeud que tu viens de supprimer.
Une fois que tu as décidé, fait un dessin et voit quels pointeurs tu dois mettre à jour quand tu veux supprimer un noeud. Tu verra que selon les cas il faut updater un pointeur soit dans le noeud père (si le noeud à supprimer et le premier de la liste), soit dand le noeud frère.
Et là tu risque d'avoir un problème, car avec tes structures tu ne peux connaitre directement ni le noeud père, ni le noeud frère directement à partir d'un noeud donné. Mais en général ce n'est pas un problème, car la suppression d'un noeud se fait lors du parcours de l'arbre. Et dans ce cas tu peux te "souvenir" de quel était le noeud parent ou le noeud frère.
Publication : Concepts en C
Mon avatar : Glenn Gould
--------------------------------------------------------------------------
Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager