Bonjour,
Imaginons que je veuille créer un arbre binaire en java à l'aide d'un tableau de noeud (chaque noeud est caractérisé par 3 champs : sa valeur, son fils gauche, son fils droit. Pour chaque noeud son fils droit porte une valeur plus grande que lui et son fils gauche une plus petite).
Donc je commence à créer un noeud comme ceci :
1 2 3
| public class Noeud {
int val,g,d ;
} |
et maintenant je veux créer mon arbre binaire avec un tableau d'entier t
j'ai vu que pour créer mon arbre à partir de t je devais faire :
Noeud [] TabAbr = new Noeud[t.length]
donc là je crée un tableau TabAbr de noeud de même longueur que t. OK
ensuite la chose que je n'ai pas compris c'est qu'à chaque fois que je veux remplir un noeud il fallait que je rajoute la syntaxe étant la suivante :
1 2 3 4
| for(int i=0 ; i<t.length ; i++){
TabAbr[i] = New Noeud();
TabAbr[i].val = t[i];
} |
mais par définition de TabAbr c'est un tableau de noeud, donc tous ses éléments sont des noeud, donc pourquoi faut-il à chaque fois mettre la ligne TabAbr[i] = New Noeud(); ???? alors que c'est la définition même de TabAbr.
De plus par défaut quelle sont les valeurs de TabAbr[i].g et TabAbr[i].d ? est-ce 0 ou est-ce vide ????
merci de vos réponses
Partager