Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 链表插入后_Java - Fatal编程技术网

Java 链表插入后

Java 链表插入后,java,Java,我是一个刚刚学习Java的学生。我明天有一个大考,我被一行代码弄糊涂了 insertAfter方法在传递给该方法的linkedList中查找编号,并在匹配后插入新节点。我不明白怎么做 curr.setNext(curr.getNext()) 将带我们到列表中的下一个节点,该节点可能就是我们要查找的号码。那么这个命令是如何遍历链表的呢 转到curr=curr.getNext()是否更有意义 如果这很简单,谢谢你,对不起。。。我现在很困惑 // assume firstInList is in

我是一个刚刚学习Java的学生。我明天有一个大考,我被一行代码弄糊涂了

insertAfter方法在传递给该方法的linkedList中查找编号,并在匹配后插入新节点。我不明白怎么做

 curr.setNext(curr.getNext()) 
将带我们到列表中的下一个节点,该节点可能就是我们要查找的号码。那么这个命令是如何遍历链表的呢

转到curr=curr.getNext()是否更有意义

如果这很简单,谢谢你,对不起。。。我现在很困惑

// assume firstInList is in the list
public void insertAfter(int firstInList, Node toAdd){
    Node curr = head;

    while( curr.getData() != firstInList ){
        curr.setNext(curr.getNext());
    }

    curr.setNext(toAdd);        
}


   Node class
  {
   int getData() {return data};
   void setData(int data) {this.data =data};
   Node getNext() {return next};
   void setNext(Node next) {this.next = next};
  }
}

附加方法 方法被调用

   public void insertBefoe (Node, inList, Node toAdd)

代码看起来不正确

头从哪里来?看起来它永远不会从while循环中出现,除非
setNext(..)
以某种方式也改变了
getData()中的代码


不幸的是,很难提供帮助,因为我们没有完整的信息,代码看起来不正确

头从哪里来?看起来它永远不会从while循环中出现,除非
setNext(..)
以某种方式也改变了
getData()中的代码


不幸的是,这很难提供帮助,因为我们没有完整的信息

很明显,代码应该是:

curr = curr.getNext()
而不是

curr.setNext(curr.getNext());
此外,以下内容被破坏:

curr.setNext(toAdd);        

一旦执行此操作,列表中第一个列表后面的部分将丢失。

代码应该是:

curr = curr.getNext()
而不是

curr.setNext(curr.getNext());
此外,以下内容被破坏:

curr.setNext(toAdd);        


一旦执行此操作,列表中第一个列表后面的部分将丢失。

这段代码来自何处?@UmNyobe注意到我的教授给了我,但没有解释为什么它也是以类
节点的方式编写的。这看起来不对…我需要把它全部打出来。。一秒钟当谷歌搜索当前设置下一步(curr.getNext())
时,你会发现一些带有当前设置下一步(curr.getNext().getNext())的代码片段。
(但不是在
insertAfter
方法中。如果后一段代码在同一个地方,你能理解吗?这段代码从哪里来?@UmNyobe注意到我的教授给了我,但没有解释为什么它也是以类
节点
的方式编写的。这看起来不对……我需要全部键入..one Second当谷歌搜索curr.setNext(curr.getNext())
时,你会发现一些带有curr.setNext(curr.getNext().getNext())的代码片段。(但不是在
insertAfter
方法中。如果后一部分在同一个位置,你能理解吗?谢谢你的回答Shervin…我已经用Node类编辑了我的问题。也许它会更有用。另外,我相信head只是列表的开始…假设我们有全局引用。谢谢l、 当代码现在读取时,它被破坏了。它不工作。它将是一个无限循环,因为getData()永远不会等于FirstInList谢谢你的回复Shervin…我已经用Node类编辑了我的问题…也许它会更有用。而且,我相信head只是列表的开始…假设我们有全局引用。谢谢,代码现在读到了,它坏了。它不起作用。它将是一个无限循环,因为getData()永远不会等于FirstInList这就是我建议的NPE。所以我的教授写错了?你能解释一下为什么curr.setNext(toAdd)会错吗?如果我们使用curr=curr.getNext()会有意义吗.谢谢!@Teddy13:如果这是你教授的工作代码,我想你需要一位新教授。如
curr.setNext(toAdd)
,想想原始列表中
firstInList
后面的元素会发生什么情况。那么您将如何继续保持firstInList?谢谢…威尔接受这就是我建议的NPE。所以我的教授写错了?您能解释为什么使用curr.setNext(toAdd)吗是不是错了?如果我们使用curr=curr.getNext(),有意义吗?谢谢!@Teddy13:如果这是你教授的工作代码,我想你需要一个新教授。As
curr.setNext(toAdd)
,想想原始列表中
firstInList
后面的元素会发生什么情况。那么您将如何继续保持firstInList?谢谢…将接受