Salut à tous!!
Je suis en contradiction avec un document.Dans ce document on implemente la methode ajouteEnTete(Element e) qui ajoute en tête d'une liste l'element e comme suit: je rappelle d'abord qu'une liste est constitué d'une tete et d'un reste;reste est une liste.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
ajouteEnTete(Element e){
     Liste l = new Liste();
    l.tete= tete;
    l.reste=reste;
    tete=e;
    reste=l;
}
je trouve que cette implementation conduit à : [e e reste ].

A mon avis l'impléméntation allait être:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
ajouteEnTete (Element e) { 
    Liste l = new Liste();
    l.tete= tete;
    l.reste=reste;
    tete=e;
    reste.tete= tete;
    reste.reste= reste;
}
Je m'explique: au depart j'ai une liste [ tete reste] à la fin je veux avoir [e tete reste].
Je crée d'abord une liste vide.Je mets dans cette liste vide à sa tete la tete de la liste donnée et je mets dans le reste de la liste vide le reste de la liste donnée.reste etant une liste il a une tete et un reste.Je mets la tete de la liste donnée dans la tete du reste et le reste de la liste donnée je le mets dans le reste du reste.Ainsi j'ai [e tete reste]