【问题标题】:Need help understanding java linked list putAfter() method [closed]需要帮助理解 java 链表 putAfter() 方法
【发布时间】:2013-02-23 01:19:27
【问题描述】:

链中包含 LinkedList 的元素。 注意:这个类的操作管理一个链接和它的邻居之间的关系。 LinkedList 负责保存列表的头部和尾部。

public class Link<Item> {
    private final Item item;
    private Link<Item> next;
    private Link<Item> prev;

将此链接插入到给定链接之后的列表中。 @param before 是给定的链接。

public final void putAfter (Link<Item> before) {
    prev = before;
    if (null == before) return;
    next = before.next;
    before.next = this;
    if (null != next) 
        next.prev = this;
}

【问题讨论】:

  • 这段代码不起作用 - 你测试了吗? (提示:你需要while()循环)

标签: java data-structures linked-list


【解决方案1】:

你在方法的编码中犯了一个基本错误1

您可以通过以下方式找到它:

  • 阅读您的代码并在您的脑海中“执行”它......或者用铅笔和纸,或者
  • 在调试器中运行它并单步执行该方法以查看每个语句实际执行的操作。

我们可以告诉您您的错误是什么,但如果您尝试自己找出问题所在,您将学会更好地编程。从长远来看,这将使您成为更好的程序员......这就是我们想要的2


1 - 根据您编写的方法的性质,我假设这是某种学习练习。如果不是这样,我的答案会有所不同...

2 - 需要明确的是,我不容忍为别人做作业。从长远来看,这不符合任何人的利益。

【讨论】:

  • 该方法有效。这是我在下周的测试中必须记住的大约 40 种方法。我只是想让有人描述每一行代码的作用,以便我能更好地理解发生了什么。如果我了解此方法的每个细节,我会更容易在测试中复制此方法。
猜你喜欢
  • 1970-01-01
  • 2012-09-01
  • 2020-07-06
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
相关资源
最近更新 更多