0
LinkedLists書中的問題要求在沒有第一個和最後一個指針的情況下實現LinkedList,同時允許使用「當前」指針訪問列表。我不太確定我是否在正確的軌道上,任何幫助將不勝感激。下面是我試過了,我想獲得插入/刪除工作...如何在沒有first&Last的Java中實現CircularLinkedList?
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
public class CircularLinkedList
{
private Link current;
private Link first;
//-------------------------------------------------------------
public CircularLinkedList(){
current = null;
}
public CircularLinkedList(Link link){
current = link;
}
public Link getCurrent(){
return current;
}
public Link getNext(){
return current.next;
}
public void setCurrent(Link current){
this.current = current;
}
public void insert(int data){
Link newLink = new Link(data);
//only link
if(current == null){
current = newLink;
first = current;
}else{
current.next = newLink;
}
newLink.next = first;
}
public void delete(){
}
public int find(int key){
return -1;
}
public void displayList()
{
Link tmp = current;
while(current != null) // until end of list,
{
current.displayLink(); // print data
current = current.next; // move to next link
if(current == tmp)
break;
}
System.out.println("");
}
public static void main(String ...args){
CircularLinkedList list = new CircularLinkedList();
list.insert(10);
list.insert(20);
list.insert(30);
list.insert(40);
list.displayList();
}
}