Probleme pour creer un arbre en java
Fermé
Utilisateur anonyme
-
papillon2000 Messages postés 106 Date d'inscription Statut Membre Dernière intervention -
papillon2000 Messages postés 106 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis un débutant en java et j’aurais besoin d’aide pour construire un arbre dont les étiquettes sont des entiers
pour un projet de parcours en largeur et en profondeur d’un arbre.
Je me suis documenté sur le net, je n'ai rien réussit à trouver de concret.
J’ai compris ce que mon prof a dit mais je n’arrive pas à l’implémenter.
Il a dit que l’arbre était fait de nœud et qu’il faut donc une class Arbre
Implémenté ainsi.
Puis une classe Nœud avec la valeur du nœud, le nœud père et la liste des nœuds fils
et une classe listeNoeud pour stocker les nœuds fils.
Est-ce que quelqu’un pourrais m’aider à corriger mon code.
L’arbre doit être codé de manière simple de bout en bout et on ne peut pas faire appel à des méthodes ou class déjà établies.
Mon code à moi donne ceci mais je n’ai pas l’impression que cela crée un arbre :
merci,
Configuration: Windows XP
Internet Explorer 7.0</code>
pour un projet de parcours en largeur et en profondeur d’un arbre.
Je me suis documenté sur le net, je n'ai rien réussit à trouver de concret.
J’ai compris ce que mon prof a dit mais je n’arrive pas à l’implémenter.
Il a dit que l’arbre était fait de nœud et qu’il faut donc une class Arbre
Implémenté ainsi.
public class Arbre { Noeud racine; int NbNoeud; public Arbre(Noeud n) { racine=n; } }
Puis une classe Nœud avec la valeur du nœud, le nœud père et la liste des nœuds fils
et une classe listeNoeud pour stocker les nœuds fils.
Est-ce que quelqu’un pourrais m’aider à corriger mon code.
L’arbre doit être codé de manière simple de bout en bout et on ne peut pas faire appel à des méthodes ou class déjà établies.
Mon code à moi donne ceci mais je n’ai pas l’impression que cela crée un arbre :
public class Arbre { Noeud racine; int NbNoeud; public Arbre(Noeud n) { racine=n; } public static void main (String argv[]) { Noeud a = new Noeud (45,null); Noeud f1 = new Noeud (23,a); Noeud f2 = new Noeud (56,a); a.ajoutListeNoeud (f1); a.ajoutListeNoeud (f2); } import java.util.*; class Noeud extends Arbre { int valeur; Noeud pere; ListeNoeuds fils; int NbFils; Noeud[] listElt; public Noeud(int v, Noeud p) { valeur = v; listElt = new Noeud[10]; for(int i=0; i<10; i++) listElt=null; } public boolean ajoutListeNoeud(Noeud n) { int compt=0; while (listElt[compt]!=null & compt<10) compt++; if (compt==10) return false; else{ listElt[compt]=n; return true; } } } }
merci,
Configuration: Windows XP
Internet Explorer 7.0</code>
A voir également:
- Probleme pour creer un arbre en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Créer un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Comment créer un groupe whatsapp - Guide
4 réponses
Salut!
Ne te complique pas trop la vie.
Pour la classe Noeud, implemente simplement l'interface MutableTreeNode.
Par exemple:
Mais tu peux aussi utiliser des classes Java qui implémentent déjà ces méthodes. Par exemple: DefaultMutableTreeNode.
Je te laiss le soin de créer ta classe Arbre qui devra contenir les différents algortihmes de parcours ...
;-)
Ne te complique pas trop la vie.
Pour la classe Noeud, implemente simplement l'interface MutableTreeNode.
Par exemple:
package trees; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import javax.swing.tree.MutableTreeNode; import javax.swing.tree.TreeNode; public class TreeNode_Impl implements MutableTreeNode { private ArrayList children; private MutableTreeNode parent; private Object userObject; public TreeNode_Impl() { this(null); } public TreeNode_Impl(Object userObject) { super(); children = new ArrayList(); this.userObject = userObject; } public void insert(MutableTreeNode child, int index) { if (index >= 0 && index < children.size()) { children.add(index, child); } } public void remove(int index) { MutableTreeNode node = (MutableTreeNode) children.remove(index); if (node != null) { node.setParent(null); } } public void remove(MutableTreeNode node) { if (children.contains(node)) { children.remove(node); } } public void setUserObject(Object object) { this.userObject = object; } public void removeFromParent() { parent.remove(this); } public void setParent(MutableTreeNode newParent) { this.parent = newParent; parent.insert(this, parent.getChildCount()); } public TreeNode getChildAt(int childIndex) { return (TreeNode) children.get(childIndex); } public int getChildCount() { return children.size(); } public TreeNode getParent() { return parent; } public int getIndex(TreeNode node) { if(!(children.contains(node))) return -1; return children.indexOf(node); } public boolean getAllowsChildren() { return false; } public boolean isLeaf() { return children.size()==0; } public Enumeration children() { return Collections.enumeration(children); } public Object getUserObject() { return userObject; } }
Mais tu peux aussi utiliser des classes Java qui implémentent déjà ces méthodes. Par exemple: DefaultMutableTreeNode.
Je te laiss le soin de créer ta classe Arbre qui devra contenir les différents algortihmes de parcours ...
;-)
slt comment cree un arbre de java tel que les noeuds sont les lien d'un fichier html pour q'on peut parcourir tout les liens de fichier html
merci
merci