affarone ha scritto:
Si consideri la struttura dati lista doppiamente concatenata definita dalle seguenti classi:
class Elem{
int valore;
Elem next;
Elem prev;
}
class Lista{
Elem first;
int size;
}
Scritte proprio così? Con livello di accesso tutto di
default (package level) e nessun getter/setter o altro??
affarone ha scritto:
Scrivere un metodo iterativo
static void delete (Lista l, Elem e)
in Java, che preso come parametro una lista l ed un suo elem e, assumendo che e appartenga ad l (senza effettuare ulteriori controlli), cancella l'elem e dalla lista doppiamente concatenata.
Immagino che la uguaglianza dell'elemento nella lista con quello cercato si basi sul valore int ... e non sulla "identità" degli oggetti Elem.
Comunque basta che scansioni la lista linkata partendo dal first e poi andando avanti per i vari next in successione.
Sei in grado di gestire l'inserimento in lista e la stampa della lista? Perché saper fare queste due cose viene prima di saper fare il delete ...
E se sai fare queste due cose, il delete viene "quasi" immediatamente.