Pages: [1]   Go Down
Print
Author Topic: Lista linkata semplice - getNextElem e rewind  (Read 1192 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
k1r4
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 375


Il mio nick si pronuncia cappaunoerrequattro!!


WWW
« on: 27-03-2009, 21:03:19 »

Ho cercato di dare una soluzione al seguente esercizio sulle liste linkate semplici:

Quote
Definire ed implementare una classe lista che abbia i
seguenti metodi:
void rewind()
int getNextElem()

Il metodo getNextElem() scorre la lista e ad ogni
invocazione restituisce i vari nodi, in sequenza.
Al termine lancia un’eccezione.

Il metodo rewind() azzera l’esecuzione dello
scorrimento (fa ripartire dalla testa).

Apparte lanciare l'eccezione io li ho realizzati in questo modo:

Code:
public class LinkedList {

    private Node head;
    private Node current;

    // Altri metodi

    public Node getNextNode() {
        if (isEmpty()) {
            return null;
        } else {
            if(current != null) {
                current = current.getNext();
            } else {
                current = head;
            }
            return current;
        }
    }

    public void rewind() {
        current = null;
    }

ovvero ho creato un'altra variabile di istanza current che tiene traccia dell'attuale posizione all'interno della lista...

volevo sapere se esiste un modo migliore e più efficente
« Last Edit: 28-03-2009, 10:09:53 by k1r4 » Logged

djjeck
Matricola
*
Offline Offline

Gender: Male
Posts: 89


Ho una donna nuda per avatar. Non c'era di meglio.


WWW
« Reply #1 on: 28-03-2009, 19:30:36 »

no, perfetto.

già che ci sono, però, ti faccio provare una cosa: prova ad implementare l'interfaccia Iterable.
è quella che si usa nei programmi veri di java, se la implementi poi puoi scorrere la tua struttura dati col foreach (non so se conosci la sintassi, funziona anche con gli array, in java>=1.6)
Code:
for(Object o : strutturadati)
  fai cose con o;
Logged
k1r4
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 375


Il mio nick si pronuncia cappaunoerrequattro!!


WWW
« Reply #2 on: 29-03-2009, 09:54:49 »

grazie mille
Logged

Pages: [1]   Go Up
Print
Jump to: