Nodo è una classe che "modella" l'insieme di informazione (String) e puntamento al Nodo successivo. Per come è scritta è un banale "bean".Originariamente inviato da luigipolla
Solo che io non ho capito come ha fatto queste due classi qualcuno sarebbe così gentile da spiegarmele, grazie!
ListaSemplice invece è la implementazione di una lista linkata che ha come unica informazione il riferimento al nodo "head" della lista (tutti gli altri nodi sono incatenati uno dietro l'altro).
La classe è un po' lunga e non l'ho analizzata tutta, prendi per esempio addHead se vuoi capire come interpretare le cose: aggiunge un nodo in testa. Se lo aggiunge in testa vuol dire che il nuovo nodo diventa la testa e quello che era prima in testa lo si incatena dietro il nuovo.
Infatti fa: Nodo newNodo=new Nodo(info, testa);
La testa è "puntata" dal next del nuovo nodo.
E: testa=newNodo;
il nuovo nodo diventa la nuova testa.
Se capisci questi passaggi non dovrebbe esserti difficile comprendere il tutto.
Ecco ... questo mi preoccupa/turba. Non è affatto corretta al 100% per essere fatta da un prof.Originariamente inviato da luigipolla
Il prof ci ha dato la risoluzione delle classi lista e nodo:
Mi è "caduto" l'occhio sul size(). È sbagliato!! Quando la lista è nuova (testa è ancora null) se invochi size() si "schianta" con un bel NullPointerException. E se ci sono dei nodi ne conteggia uno in meno.

Rispondi quotando