Bonjour,
Je voudrais déplacer un élément d'une linkedList en le mettant à la fin en Java, et cela en une seule fonction sans passer par la fonction remove qui supprimera l'élément.
Avez vous des idées?
Bonjour,
Je voudrais déplacer un élément d'une linkedList en le mettant à la fin en Java, et cela en une seule fonction sans passer par la fonction remove qui supprimera l'élément.
Avez vous des idées?
Si tu ne veux pas supprimer l'élément et le recréer, tu peux changer le chaînage:
-Le dernier élément pointe sur ton élément cible
-L'élément qui précède la cible pointe sur celui qui se trouve après la cible
Et n'oublie pas de traiter les cas particuliers, par exemple le cas où la cible se trouve au début ou à la fin de la liste
Voilà j'espère que ça aide un peu![]()
La méthode "set(int index, E element)" ne pourra pas faire cela?
Elle ne modifie pas le chaînage, elle change ce qui est contenu à l'index indiqué.
Du coup il faudrait appeler set() sur toute la fin de la liste pour que ça marche.
Ce n'est pas intéressant : une LinkedList irait bien plus vite en supprimant juste le nœud. Et les autres implémentations de List feraient automatiquement le déplacement de la fin de la liste, sans avoir besoin d'appeler les set() soi-même.
Le choix d'avoir une LinkedList est donc (surement) à revoir.
Tu ne peux pas => http://docs.oracle.com/javase/6/docs...inkedList.html
Pourquoi tu ne peux pas passer par le remove ?
Partager