我正在尝试将两个链接列表连接在一起,其中第二个列表将紧跟在第一个列表的尾部之后。在我的追加方法中,我想获取要连接在一起的两个列表,然后将最后一个列表连接到末尾。我无法将当前位置分配给第二个列表的头部。关于我的下一步是什么有什么建议吗?public class Link {public long dData; // data itempublic Link next; // next link in list// -------------------------------------------------------------public Link(long d) // constructor{ dData = d;}// -------------------------------------------------------------public void displayLink() // display this link{ System.out.print(dData + " ");}// -------------------------------------------------------------} // end class Linkpublic class FirstLastList {private Link first; // ref to first linkprivate Link last; // ref to last link// -------------------------------------------------------------public FirstLastList() // constructor{ first = null; // no links on list yet last = null;}// -------------------------------------------------------------public boolean isEmpty() // true if no links{ return first == null;}// -------------------------------------------------------------public void insertFirst(long dd) // insert at front of list{ Link newLink = new Link(dd); // make new link if (isEmpty()) // if empty list, { last = newLink; // newLink <-- last } newLink.next = first; // newLink --> old first first = newLink; // first --> newLink}// -------------------------------------------------------------public void insertLast(long dd) // insert at end of list{ Link newLink = new Link(dd); // make new link if (isEmpty()) // if empty list, { first = newLink; // first --> newLink } else { last.next = newLink; // old last --> newLink } last = newLink; // newLink <-- last}
2 回答
红颜莎娜
TA贡献1842条经验 获得超12个赞
在
while (list1 != null) {
current = current.next;
}
list1未更改,您将完成取消引用 NULL 指针
奇怪的是,您在参数中获得了两个列表,而操作不是静态的并且不返回结果。
对我来说,如果不是静态的,则操作必须接收一个列表并将其附加到当前(this)列表的末尾,在参数中迭代列表并使用insertLast添加每个元素
您还可以按值接收参数,最好使用引用而不是白白复制它/它们
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
在 append() 方法中:
Link current = first;
while(current.next != null) {
current = current.next;
}
current.next = list2.first;
当您的当前节点到达最后一个节点时,.next它将为空。那是您加入第二个列表的时候。
添加回答
举报
0/150
提交
取消