Méthode toString pour afficher un arbre binaire complet
membre1990
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir :),
je veux afficher les éléments d'un arbre binaire complet à l'aide de la méthode "toString", je commence par la racine, je parcours la partie gauche puis la partie droite. SVP j'ai besoin de votre aide.
voici la structure de mon arbre:
j'ai codé une fonction d'affichage, mais elle ne me permet pas d'afficher les éléments s'ils sont de types classe.
je veux afficher les éléments d'un arbre binaire complet à l'aide de la méthode "toString", je commence par la racine, je parcours la partie gauche puis la partie droite. SVP j'ai besoin de votre aide.
voici la structure de mon arbre:
public class Noeud <E>{
E info;
Noeud<E> filsG;
Noeud<E> filsD;
public Noeud(E i,Noeud g, Noeud d)
{
this.info=i;
this.filsG=g;
this.filsD=d;
}
}
public class Arbre <E>{
Noeud <E> racine;
public Arbre(Noeud r)
{
this.racine=r;
}
public Arbre()
{
this.racine=null;
}
..
..
}
j'ai codé une fonction d'affichage, mais elle ne me permet pas d'afficher les éléments s'ils sont de types classe.
public void afficher(Noeud rac)
{
System.out.println(rac.info);
System.out.println();
afficher(rac.filsG);
afficher(rac.filsG);
}
A voir également:
- Méthode toString pour afficher un arbre binaire complet
- Telecharger fl studio 20 pour pc gratuit complet - Télécharger - Édition & Montage
- Telechargement film d'action complet en francais - Télécharger - TV & Vidéo
- Binaire - Guide
- Telecharger film complet sur mobile gratuit - Télécharger - TV & Vidéo
- Afficher appdata - Guide
2 réponses
Bonjour,
Ta méthode afficher() fais des System.out.println, or ce que tu veux c'est mettre les informations dans un String, c'est donc assez différent !
Est-ce que tu as une méthode qui transforme ton arbre en liste ?
C'est généralement la meilleure manière d'afficher les éléments d'un arbre que d'afficher les éléments de la liste correspondante.
Sinon, le principe en gros c'est :
Ta méthode afficher() fais des System.out.println, or ce que tu veux c'est mettre les informations dans un String, c'est donc assez différent !
Est-ce que tu as une méthode qui transforme ton arbre en liste ?
C'est généralement la meilleure manière d'afficher les éléments d'un arbre que d'afficher les éléments de la liste correspondante.
Sinon, le principe en gros c'est :
public String toString() { String str = String.valueOf(info); if (filsG != null) str = filsG.toString()+", "+str; if (filsD != null) str = str+", "+filsD.toString(); return "("+str+")"; }
merci beaucoup KX pour votre réponse,
j'ai pas une fonction pour la transformation de l'arbre en liste, et je sais pas s'il est nécessaire de l'avoir. je veux garder la structure d'un arbre, mais j'ai trouvé des problèmes dans l'insertion, car l'insertion se fait toujours à gauche si le nombre de noeud dépasse 7, alors que je dois garder mon arbre ""complet(tout les niveaux; droit et gauche; sont remplis).
que me conseillez vous??
j'ai pas une fonction pour la transformation de l'arbre en liste, et je sais pas s'il est nécessaire de l'avoir. je veux garder la structure d'un arbre, mais j'ai trouvé des problèmes dans l'insertion, car l'insertion se fait toujours à gauche si le nombre de noeud dépasse 7, alors que je dois garder mon arbre ""complet(tout les niveaux; droit et gauche; sont remplis).
que me conseillez vous??
Reviens sur ta discussion Comment insérer des objets dans un arbre binaire complet et postes ton code actuel pour que je puisses tester et voir ce qui cloche.