2013-02-23 79 views
-4

链中包含LinkedList的元素。 注意:此类的操作管理链接与其邻居之间的关系。 LinkedList负责保持列表的首尾。需要帮助了解java链接列表putAfter()方法

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

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

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; 
} 
+0

此代码不起作用 - 您测试了吗? (提示:你需要'while()'loop) – alfasin 2013-02-23 01:25:07

+0

是的,它确实有效。 – 2013-02-23 02:29:06

回答

1

您已在方法的编码做了一个基本错误。

  • 阅读你的代码和“执行”它在你的脑袋......或用铅笔和纸,或
  • 在调试器和单步运行它:

    你可以找到它看看每个语句实际上在做什么的方法。

我们可以告诉你你的错误是什么,但如果你试图自己发现问题,你会学会更好地编程。从长远来看,这会让你成为更好的程序员......这就是我们想要的


1 - 基于你正在写的方法的性质,我假定这是某种形式的学习锻炼。如果情况并非如此,我的答案本来会不一样......

2 - 而且很明显,我不会宽容地为他们做别人的功课。它在长期没有人的兴趣

+0

该方法有效。这是一个约40的方法,我必须记住下周进行测试。我只是想让别人描述每行代码的功能,这样我可以更好地理解发生了什么。如果我理解这种方法的每个细节,对于我来说,在测试中复制这种方法会更容易。 – 2013-02-23 02:34:05