【发布时间】:2014-11-19 17:41:00
【问题描述】:
我试图理解从链表中删除节点,所以我创建了如下所示的函数Node *deleteNode(int item. Node *head)。它确实删除了一个节点,但不是我在 main 函数中指定的那个。如果我从 (1,2,3,4,5,6) 的链接 lsit 开始,它将返回 (1,3,4,5,6) 的列表。所以它总是出于某种原因删除第二个节点。导致此问题的 deleteNode 函数中的错误是什么?
【问题讨论】:
-
您是否尝试过使用调试器?提示
=与==不同 -
另外,在
deleteNode中,您永远不会修改head。那么当您尝试删除列表的头部时会发生什么?您将返回与以前相同的head(您刚刚删除的节点)。您需要处理删除列表头部的情况。
标签: c linked-list nodes