|
|
|
|
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.
public class Arbre
{
Noeud racine;
int NbNoeud;
public Arbre(Noeud n)
{
racine=n;
}
}
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;
}
}
}
}
Salut!
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 ... ;-) |