Bonjour,
Nous arrivons à la fin de la session de mon cours prog 2 avancé Java...
Comme son nom l'indique, je suis rendu aux arbres binaires de recherches
La compréhension va quand même bien mais sauf pour une méthode du corrigé de mon professeur, car elle fait une erreur de compilation...et misère
Voici un peu comment fonctionne la création de mon arbre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 // Le nom de ma classe -> Oui notre prof nous fait coder en français... public class ABRNoeud < E extends Comparable <E> >{ //mon constructeur public ABRNoeud (E element){ this.elementArbre = element; this.gaucheArbre = null; this.droiteArbre = null; } // Je pense que j'en comprend le principe, on prend chaque élément de l'arbre et on le modifi par la function caller dans la Classe principale du programme // Parcontre, j'ai de la misère à saisir l'utilisation des « ? » public <R extends Comparable< R > > ABRNoeud<R> map( Function< ? super E,? extends R> f ) { ABRNoeud< R > resultat = new ABRNoeud<>( f.apply( elementArbre ) ); if( gaucheArbre != null ) { resultat.gaucheArbre = gaucheArbre.map( f ); } if( droiteArbre != null ) { resultat.droiteArbre = droiteArbre.map( f ); } return resultat; }Merci d'éclairer mes lanternes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 // exemple de création ABRNoeud<Integer> monArbre = new ABRNoeud<>(10); //Ici j'ai une erreur de «incompatible types : inference variable R has incompatible bounds ABRNoeud< Double > arbreModif = monArbre.map( (x) -> 2 * x + 1 );
Partager