链接列表和引用
Linked lists and references
列表-->[-1-]<-->[-2-]<-->[-3-]<-->[-4-]<-->[-5-]
上图是5个节点的循环双向链表,"list"是一个reference/pointer到第一个node.The最后一个节点5,第一个节点1 ,互相参考,因为这个列表是循环的,但我无法用图表来描述。
是否作业
list.next.next.next=list.prev
将上面的列表修改成列表
列表-->[-1-]<-->[-2-]<-->[-3-]<-->[-5-]?
编辑:
这不是家庭作业。我正在复习教科书中的练习以供自学。这本书没有提供答案,所以我决定在这里问。
因为它是双重 linked,要创建另一个有效的双重 linked 列表,您必须至少更新一个下一个和一个上一个 link(在一般情况下)。由于您仅更新下一个 link,它无法创建您显示的内容,因为这是一个有效示例。
3.next
将是 5
,但 5.prev
仍将是 4
。
没有。不过,它会 "mess" 改善很多。
由于您只更改了 2 -> 3 之间连接的一端,并且您将其设置为未定义的值 (list.prev),因此它将创建一个损坏的列表,其中 2 不再指向任何内容有意义。你可以修复它,因为有一个循环双向链表将允许你 "go backwards" 从 1 -> 5 -> 4 -> 3 -> 2 并修复指针
列表-->[-1-]<-->[-2-]<-->[-3-]<-->[-4-]<-->[-5-]
上图是5个节点的循环双向链表,"list"是一个reference/pointer到第一个node.The最后一个节点5,第一个节点1 ,互相参考,因为这个列表是循环的,但我无法用图表来描述。
是否作业
list.next.next.next=list.prev
将上面的列表修改成列表
列表-->[-1-]<-->[-2-]<-->[-3-]<-->[-5-]?
编辑:
这不是家庭作业。我正在复习教科书中的练习以供自学。这本书没有提供答案,所以我决定在这里问。
因为它是双重 linked,要创建另一个有效的双重 linked 列表,您必须至少更新一个下一个和一个上一个 link(在一般情况下)。由于您仅更新下一个 link,它无法创建您显示的内容,因为这是一个有效示例。
3.next
将是 5
,但 5.prev
仍将是 4
。
没有。不过,它会 "mess" 改善很多。
由于您只更改了 2 -> 3 之间连接的一端,并且您将其设置为未定义的值 (list.prev),因此它将创建一个损坏的列表,其中 2 不再指向任何内容有意义。你可以修复它,因为有一个循环双向链表将允许你 "go backwards" 从 1 -> 5 -> 4 -> 3 -> 2 并修复指针