Bonjour ,
Voici une classe ListeTriee , ils ' agit d' une liste chainée , je n' utilise pas la classe LinkedList:
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
30
31
32
33 public class ListeTriee { private int element; private ListeTriee suivant; //Constructeur public ListeTriee (int premier , ListeTriee reste){ element = premier; suivant = reste; } Methode Ajouter un element A la liste public ListeTriee ajoutListeTriee (int val){ ListeTriee ref = this; ListeTriee pred = null; //Parcours while (ref !=null && ref.element <= val ){ pred = ref;//avance pred ref =ref.suivant;//avance ref } if (pred == null ){ return new ListeTriee (val , this); }else { ListeTriee nouvel = new ListeTriee(val, ref); pred.modifieReste(nouvel); return this; }
Il y a une chose que je ne comprends pas :
Lorsque j' entre dans la méthode j ' ai ref = this; .Or ici il s 'agit d objet auquel j' applique la méthode , si je modifie ref je modifie également l' objet ??
Pourtant lorsque j' entre dans le while je modifie bien ref donc this???
merci
Partager