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;
}
}
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;
}
}
}
}
écoute je ne vois pas de défaut de logique ou de conception flagrant dans ton arbre, il a l'air tout à fait fonctionnel. Je peux seulement noter que tu utilises une classe ListeNoeuds qui n'est déclarée nulle part et qui me semble inutile puisque finalement tu utilises un tableau de Noeuds pour stocker les noeuds fils.
Et aussi dans ta classe Noeud tu écris :
stars333 dit : listElt = new Noeud[10];
for(int i=0; i<10; i++)
listElt=null;
à mon avis tu voulais écrire listElt[i]=null et non pas listElt=null mais bon c'est un détail.
Voila, à+ et bonne prog
__________________________
Lorsque touts les arbres auront été coupés, Lorsque touts les animaux auront été chassés, Lorsque touts les poissons auront été pêchés;
Alors l'homme découvrira que l'argent ne se mange pas.
------ |_o/e _|a/a---------