【发布时间】:2010-10-13 03:59:44
【问题描述】:
我无法理解将新节点连接到双链表的后半部分。我正在编写一个 add 方法,该方法接受要插入新节点的节点。我的困难领域是理解如何在先前的节点链接被重定向到新节点之后链接到下一个节点。
所以,这就是我想出的地方
Chunk<E> newChunk= new Chunk<E>();
newChunk.next= prevChunk.next;
prevChunk.next= newChunk;
newChunk.prev= newChunk.next.prev;
newChunk.next.prev= newChunk;
我的理解是因为newChunk.next= prevChunk.next命令复制了prevChunk.next的内存地址并将该值设置为newChunk.next,然后将prevChunk.next重置为链接到newChunk。
因此,既然 prevChunk 是此处引用的唯一节点,并且已经在列表中,并且下一个字段已重新路由到 newChunk,那么我在使用这些引用链接到下一个节点方面是否走在正确的轨道上?
【问题讨论】:
-
可以直接做newChunk,prev = prevChunk,而不是newChunk.prev= newChunk.next.prev。
标签: java data-structures linked-list