链接列表挑战指针下一步

时间:2014-09-05 18:09:19

标签: algorithm pointers data-structures linked-list pascal

我阅读了一些关于链接列表的文章,可以,任何人,解释这个例子吗?

我们有一个包含5个元素的循环单链表。我们有一个指向列表末尾的指针f。 f.next.next = f.next.next.next?

的操作是什么?

事实上,在这种情况下,我总是误解指针和下一个指针。

感谢。

2 个答案:

答案 0 :(得分:1)

F is the last node
f.next = node1
f.next.next = node2
f.next.next.next = node3

so f.next.next = f.next.next.next is actually node1.next = node3

节点2仍然存在,它仍然指向node3,但由于没有其他节点指向它,因此被认为是从列表中删除。

此时正确的做法是删除node2(释放已分配的内存),但这超出了原来的问题。

答案 1 :(得分:0)

将它绘制在一张纸上,下一个是两个节点之间的箭头。查看最后一个节点并查看其指向的位置,然后答案将是微不足道的。