Structure d'arbre
Résolu
FireWire
-
FireWire -
FireWire -
Bonjour,
j'ai une fonction (java) qui lit une structure d'arbre (généalogique). Le noeud a chaque fois 2fils:
ma structure Node est définie comme suit:
Elle boucle sur le noeud racine tout le temps...
C'est peut-être une bête erreur que je vois pas donc peut-être que l'un de vous verra ce qu'il manque.
Merci de votre aide
j'ai une fonction (java) qui lit une structure d'arbre (généalogique). Le noeud a chaque fois 2fils:
public void lire_arbre(Node n) { /* *lire(noeud) *if noeud.gauche != nul alors lire(noeud.gauche) *if noeud.droite != nul alors lire(noeud.droite) */ System.out.println("Valeur noeud "+n.getvalue()); if(n.getleft()!=null) { lire_arbre(n); } else if(n.getright()!=null) { lire_arbre(n); } }
ma structure Node est définie comme suit:
class Node { Node left; Node right; String etiquette; ... ect //les fonctions get et set en plus }
Elle boucle sur le noeud racine tout le temps...
C'est peut-être une bête erreur que je vois pas donc peut-être que l'un de vous verra ce qu'il manque.
Merci de votre aide
A voir également:
- Structure d'arbre
- Logiciel calcul structure bois gratuit - Télécharger - Architecture & Déco
- Structure d'un rapport de stage - Guide
- Arbre généalogique famille michelin - Télécharger - Généalogie
- Glandier arbre ✓ - Forum Photoshop
- Arbre généalogique de Nicolas Menoux - Forum Logiciels
1 réponse
Salut,
C'est normal : dans les conditions, tu dis que si le noeud de gauche existe, il doit lire le noeud courant ...
Tu devrais essayer avec :
De plus, il faut enlever le else, sinon, tu ne vas pas parrcourir tout l'arbre ...
@Bientôt
C'est normal : dans les conditions, tu dis que si le noeud de gauche existe, il doit lire le noeud courant ...
Tu devrais essayer avec :
System.out.println("Valeur noeud "+n.getvalue()); if( n.getleft() != null ) lire_arbre( n.getleft() ); if( n.getright() != null ) lire_arbre( n.getright() );
De plus, il faut enlever le else, sinon, tu ne vas pas parrcourir tout l'arbre ...
@Bientôt
mais quand je lui met en paramètre :
il me renvoie un "java.lang.NullPointerException"
car il lit chaque fils de gauche puis après je suppose qu'il tombe sur rien du tout...
j'essaye de trouver comment remonter l'arbre pour lire les fils de droite :-s
Vous voyez le problème? Ce que je veux dire?