Circulaire LinkedList en Java

Je suis brossage sur mes structures de données par la lecture d'un livre et l'une des questions qu'il se pose est de construire une circulaire de la Seule Liste, en n'utilisant pas de "premier" & "dernier" des pointeurs, mais plutôt à permettre d'y accéder en utilisant une référence "actuel". Je ne suis pas sûr de comprendre la question, j'ai toujours pensé que j'avais besoin d'au moins le premier ou le dernier. Voici ma mise en œuvre, mais il a le "premier", pas sûr de la façon de les contourner. Pouvez-vous me dire comment je peux adapter mon code pour éliminer la dépendance?

class Link {
    public int iData;              
    public Link next;              

    public Link(int id) { //constructor
        iData = id;                         
    }                          

    public void displayLink() {
        System.out.print(iData + " ");
    }
}  //end class Link

Alors voici la liste elle-même:

public class CircularLinkedList {
    private Link first;
    private Link current;    

    public Link getCurrent(){
        return current;
    }

    public void setCurrent(int data){

    }

    public void advance(){
        current = current.next;
    }

    public void insert(int data) {
        Link newLink = new Link(data);
        if (first == null) { 
            first = current = newLink;
        } else {
            current.next = newLink;
        }
        current = newLink;
        newLink.next = first;
    }
    ...
}

OriginalL'auteur sam2015 | 2015-04-22