仅使用一个指针删除链接列表的最后一个元素

时间:2015-07-01 12:32:54

标签: c linked-list traversal

如果我们有一个指针指向链接列表的最后一个元素,而我们没有任何其他指针指向链接列表的任何其他节点,那么是否可以安全地删除该最后一个节点? 根据我的观点,这是不可能的。

enter image description here

1 个答案:

答案 0 :(得分:1)

如果您没有引用列表的倒数第二个元素,则不可能。您需要将指针作为第二个最后一个元素 null 的一部分。因此,据我所知,如果您只引用最后一个元素,则无法删除它。

例外情况是列表中只有一个元素是第一个元素和最后一个元素。在这种情况下,释放该元素不会造成任何伤害。

如果您有链接列表,则需要引用第一个用于遍历整个列表的元素。但是当你说除了最后一个元素之外你没有对列表的任何引用时,这是一个非常不寻常的情况。