我正在学习链接列表。我找到了一个java的示例,它将一个新节点放在链表上的第三个位置,但我只看到插入到列表中间的某个位置,就像使用2个额外的节点,当前和之前一样。我也没见过像.getNext这样的东西。那么有人可以解释这段代码的每个部分做了什么,并且可能使用当前和之前的节点对其进行重新措辞,以便我能理解它的关联和比较? Elem是要插入的节点的名称,如果添加涉及这些节点的解释,则不必实例化当前和之前的节点。我只是假设它已经完成了。
elem.setNext(first.getNext().getNext());
first.getNext().setNext(elem);
numberOfElems++;
如果您需要更多信息,请告诉我们!
答案 0 :(得分:2)
elem.setNext(first.getNext().getNext());
正如您所说,elem
是要插入的元素。上面的代码行将elem
的{{1}}引用设置为列表的第三个元素(next
引用第三个元素)。
first.getNext().getNext()
第二行代码将第二个元素的first.getNext().setNext(elem);
引用设置为要插入的新元素。现在,新元素插入旧的第二个和第三个元素之间,使其成为列表中的第三个元素。
最后一行代码只增加了元素的数量。