删除链表中的节点后释放分配的空间



我正在为大学课程学习一本书中的链表。我在删除链接列表中的节点时遇到问题。列表的给定结构是

struct Node {
int item;
Node *next;
}

在我所读的这本书的部分中,演示了使用两个指针删除节点:prev和cur(cur指向要删除的节点)。

将prev重新路由到cur:之后的节点后

prev->next = cur->next;

我们继续释放cur中用于节点的内存。我的问题是这个部分,使用的代码是:

cur->next = NULL;
delete cur;
cur = NULL;

第一行和第三行不是多余的吗?还是我遗漏了什么?既然我们像在第二行中那样删除cur,那么我们就不需要先设置cur->next=null对吗?

在书中,它给出了一个解释,但没有多大意义。有什么帮助吗?

显然,是的,第一行和第三行是冗余

相关内容

  • 没有找到相关文章

最新更新