【发布时间】:2015-04-22 16:32:30
【问题描述】:
我正在通过阅读一本书来复习我的数据结构,它提出的一个问题是不使用“first”和“last”指针来构建一个循环单链表,而是允许通过使用一个参考“当前”。我不确定我是否理解这个问题,我一直认为我至少需要第一个或最后一个。这是我的实现,但它有“第一”,不知道如何绕过它。您能否评论一下我如何调整我的代码以消除对第一的依赖?
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 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;
}
...
}
【问题讨论】:
标签: java data-structures linked-list