Je suis confus sur la façon dont chaque nœud est relié à un autre et comment faire en sorte que si je veux que le premier nœud soit lié après celui à la fin, je ne suis pas un boucle infinie. Par exemple, dans ce problème ..firstLast Java Lié liste/nœuds
Ecrivez une méthode firstLast qui pourrait être ajoutée à la classe LinkedIntList qui déplace le premier élément de la liste vers l'extrémité arrière de la liste. Supposons qu'une liste nommée LinkedIntList stocke les éléments suivants de l'avant (gauche) à l'arrière (droite):
[18, 4, 27, 9, 54, 5, 63] Si vous avez fait l'appel de list.firstLast() ;, la liste stockera ensuite les éléments dans cet ordre:
[4, 27, 9, 54, 5, 63, 18] Si la liste est vide ou contient un seul élément, son contenu ne doit pas être modifié.
Ma première tentative est de faire this..but en vain:
`public void firstLast(){
ListNode temp = front;//stores/references the first node
temp.next = null;//ensures that first node isn't referring to any other
//node
ListNode current = front;//reaches end node/first one with a null
//reference
while(current.next != null){
current = current.next;
}
front.next = temp;//links end node to first node
front = current.next;////now that skips the first element`
mais la sortie est [18] -> [18] (cycles!)
. S'il vous plaît conseiller
n'a pas l'implémentation de chaînée fournissent '' pop' et push'? Cette méthode que vous implémentez devrait s'appuyer sur celles-ci. –
Dessinez une image, très utile pour visualiser ce qui se passe en traitant des structures de données, comme ici: http://i.imgur.com/7sSmB0x.jpg. Les flèches noires sont les pointeurs ** suivants ** que vous essayez de manipuler. Maintenant, visualisez ce que fait votre algorithme. Pour votre tâche spécifique - pointez simplement le ** suivant ** du dernier élément, faites-le ** queue ** et faites le second élément précédent à ** tête **. ** Important **: Pas besoin d'itéter le tout, * THAT * est l'avantage du concept 'LinkedList' pour d'autres structures de données! – Zabuza
GUIDO, non, il n'a pas 'pop' et' push'. Est-ce que les listes liées ont généralement cela en Java? (Je pensais que ce n'était que des piles qui le faisaient .. – Anna