我正在通过阅读一本书来复习数据结构。其中有一个问题要求我构建一个循环单链表,但不能使用“first”和“last”指针,而是要允许通过使用一个引用“current”来访问它。我不确定我理解了这个问题,我总是认为至少需要“first”或“last”中的一个。这是我的实现方式,但它有“first”,我不确定如何解决这个问题。请评论一下我如何调整代码以消除对“first”的依赖?
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;
}
...
}
deleteAt(2)
-那么这是从哪里开始的?零是什么? - Erick Robertson