我正在研究大学课程book中的链表。我在删除链表中的节点时遇到问题。列表的给定结构是
struct Node {
int item;
Node *next;
}
在本书的部分中,使用两个指针删除节点:prev和cur(其中cur指向要删除的节点)正在演示。
在cur:
之后将prev重新路由到节点prev->next = cur->next;
我们继续释放cur中用于节点的内存。我的问题在于这一部分,使用的代码是:
cur->next = NULL;
delete cur;
cur = NULL;
第一行和第三行不是多余的吗?还是有什么我想念的?既然我们在第二行中删除了cur,那么我们不需要先设置cur-> next = null吧?
在书中它给出了explanation,但它没有多大意义。有什么帮助吗?
答案 0 :(得分:0)
显然,是的,第一行和第三行是多余的