Implémentations de listes doublement chainées
Salut à tous!
J'ai un problème avec les listes chainées. Je me demande pourquoi mon programme ne marche pas. En effet, quand j'ajoute 9 et 10 dans ma liste chainée et quand j'affiche ma liste, la seule valeur qui affichée est 10. J'ai l'impression que mon programme n'établit aucun lien entre 9 et 10.
Code:
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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
public class ElementListe{
int valeur;
static ElementListe suivant;
static ElementListe precedent;
public ElementListe(int n){
suivant=null;
precedent=null;
valeur=n;
}
static void suivant(ElementListe elementSuivant){
suivant=elementSuivant;
}
static void precedent(ElementListe elementPrecedent){
precedent=elementPrecedent;
}
ElementListe suivant(){
return this.suivant;
}
}
class Liste{
static ElementListe tete;
static ElementListe queue;
Liste( ){
tete=null;
queue=null;
}
static boolean estVide(Liste liste){
liste.tete=null;
liste.queue=null;
return true;
}
static void ajouterElementListeEnQueue(ElementListe element, Liste liste){
if(estVide(liste)){
tete=element;
queue=element;
element.suivant=null;
}
else{
liste.queue.suivant(element);
element.precedent(liste.queue);
queue=element;
}
}
static void afficheValeurs(Liste liste){
ElementListe elementCourant=tete;
while(elementCourant!=null){
System.out.println(elementCourant.valeur);
}
}
public static void main(String[] args){
Liste lst=new Liste();
ElementListe elmt=new ElementListe(9);
ajouterElementListeEnQueue(elmt,lst);
ElementListe elm=new ElementListe(10);
ajouterElementListeEnQueue(elm,lst);
afficheValeurs(lst);
}
} |