如何在Java中构建addLast
方法?我已经知道LinkedList
有一个内置的方法可以做到这一点)
这是我尝试过的:
public void addFirst(int d1, double d2) {
Link link = new Link(d1, d2);
link.nextLink = first;
first = link;
}
public void addLast(int d1 , double d2){
Link v = new Link(d1, d2);
v.nextLink = null;
tail.nextLink = v;
tail = v
}
public void printList() {
Link currentLink = first;
System.out.print("List: ");
while(currentLink != null) {
currentLink.printlink();
currentLink = currentLink.nextLink;
}
System.out.println("");
}
我的addFirst
方法有效,但我不知道如何连接它们。
主要:
LinkList list = new LinkList();
list.addFirst(4, 4.04);
list.addFirst(5, 5.05);
list.addlast(3,4.5);
list.printList();
答案 0 :(得分:3)
我意识到这是一项学校作业,所以如果没有给出答案,请遵循以下步骤:
此外,上面的addFirst方法无法正常工作,您不断重置尾部的值。
答案 1 :(得分:1)
您的问题似乎在最后一行。你想要
tail = v;
不
v = tail;
此外,你有
tail = link
作为addFirst方法的最后一行 - 不清楚为什么要这样做。在添加到前面时,您不需要更新列表的尾部。
答案 2 :(得分:0)
public void addLast(int d1, double d2){
Node node = new Node(d1, d2);
Node temp = first;
while(temp.next!= null) {
temp = temp.next;
}
temp.next = node;
}