链接列表和引用

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 并修复指针