Methode récursive pour la modification d'un tree! Besoin d'a

 
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> Java
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
damien781
dummy mioche
dummy mioche


Inscrit le: 11 Déc 2004
Messages: 2

MessagePosté le: Sam Déc 11, 2004 1:36 am    Sujet du message: Methode récursive pour la modification d'un tree! Besoin d'a Répondre en citant

Hello,

J'ai besoin d'aide assez rapidement ... si qqun à une idée! merci ! Smile

J'ai un modèle mémoire sous forme d'un arbre (composé de noeuds contiennant une valeur, une réf au fils gauche et une ref fils droit), un arbre tout bete en quelque sorte.

J'aimerais pouvoir insérer, à ma guise, un fils droit ou un fils gauche au noeud précédent! Voici une petite explication:

Je crée mon arbre graphiquement. Donc lors de l'insertion de la racine j'utilise la méthode creeRacine()
Code:

public void creeRacine(){
//création de la racine
Arbre monArbre = new arbre(maValeurDeNoeudRacine);
this.monArbre=monArbre;
}


Ensuite j'aimerais utiliser une méthode qui insére autant de fils droit que dont j'ai envie! soit maRacine-filsDroit1-filsDroit2.....etc
Une utilisation de la méthode ajouterFilsDroit ajoute un fils droite
au noeud précedemment entré et ainsi de suite! et je pourrai donc l'utiliser autant de vois que j'ai envie!
Code:

public void insererFilsDroit(){
Arbre FuturFilsDroit = new Arbre(maValeurDeNoeud1);
monArbre.accrocherFilsDroit(FuturFilsDroit );
}

Ceci fonctionne pour juste deux noeuds (racine + noeud1), normal car monArbre.accrocherFilsDroit(FuturFilsDroit );

Je ne vois pas comment développer ma méthode pour que monArbre soit à chaque fois le noeud insérer précedement!!
il faudrait un private Arbre ArbreDAvant; mais pour l'utiliser?!

Un d'entre vous aurait déjà implémenté ceci ou aurait une idée de code pour m'aider?? Shocked

Merci beaucoup d'avance!!

Damien781 !
Code:
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
damien781
dummy mioche
dummy mioche


Inscrit le: 11 Déc 2004
Messages: 2

MessagePosté le: Sam Déc 11, 2004 12:19 pm    Sujet du message: Répondre en citant

J'ai qqch qui fonctionne a moitié, voici mon code:

Code:
Code:

//Méthode permettant d'inserer un filsdroit a mon arbre
public void ajouterFilsDroit() {
   Object myObject = new Object();
   Arbre nextArbre = new Arbre(myObject);
   //si faux alors le noeud d'avant est la racine
   if (valeur == false) {
      monArbreRacine.accrocherADroite(nextArbre );
      valeur = true; //car noeud d'avant plus racine
     nextArbreBinaire = monArbreBinaire;
}
//sinon on insere fils au noeud précendent
   else {
      nextArbre = new Arbre(myObject);
      nextArbre.accrocherADroite(nextArbre);
      monArbreBinaire = nextArbreBinaire;
     }





Ceci fonctionne à moitié!
mise en mémoire racine + premier fils = OK
dès que j'inserer un fils droit de plus il prend la place de la racine!
ce qui donne:
filsDroitDePlus --- racine --- premierFils
et ca continue si j'utilise encore ajouterFilsDroit()
filsDroitDePlusPlus ----- filsDroitDePlus --- racine --- premierFils

J'aimerais que cela s'insère après permierfils et ainsi de suite! Vous comprennez? car pour l'instance c'est la racine qui se modifie et mon arbre qui se crée mais a partir de la racine et non pas depuis la dernière feuille!!

Merci!! A+


Damien781 !
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    iprelax.fr Index du Forum -> Java Toutes les heures sont au format CET (Europe)
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Affilzen SARL : Mention légale