Salve a tutti,
Il libro mi da il codice per creare una lista doppiamente concatenata. La nuova cosa è che io in questa lista posso accedere a qualunque nodo. In pratica l'elemento di un nodo è anche indice del nodo.
Però non ho capito i passi che ha fatto il libro per arrivare alla soluzione. Cioè ha implementato una interfaccia:
Ora questa interfaccia la implementa nella classe del Nodocodice:public interface Position<E> { E element(); }
Ora nella classe NodePositionList io ad esempio posso accedere al nodo che segue il nodo nella posizione p:codice:Public class DNode<E> implements Position<E> { .................................................... public E element() { if((prev==null) && (next == null)) throw new InvalidPositionException("La posizione non è in una lista"); return element; } ....................................................... }
Il metodo ha come parametro Position<E> p. Che sarebbe ? nodo.element() ?codice:// restituisce la posizione dell'elemento che segue l'elemento in posizione p public Position<E> next(Position<E> p)
Perché restituendo un elemento accedo al nodo che contiene quel elemento ?
p non è un puntatore che punta all'elemento selezionato ?
Non so se so stato chiaro.

Rispondi quotando