为什么我的DeleteNode()函数不起作用?

莫欣

我创建了一个单链列表,其中包含3个节点,其值分别为45,90,100。我正在编写一个函数,该函数将删除列表的最后一个节点。但是输出显示所有3个值。

void DeleteNode()
{
    struct node *ptr1=head,*ptr2=head;
        while(ptr1!=NULL&&ptr2->link!=NULL)

我创建了两个struct节点类型的指针ptr1和ptr2进行遍历。循环被定义为运行,直到ptr1到达最后一个节点并指向NULL,并且ptr2-> link即最后一个节点指向NULL。

{
    ptr1=ptr1->link;
    ptr2=ptr2->link;
}
ptr2=NULL;

当循环中断时,ptr2将指向NULL,因此应删除最后一个节点。但这不会发生。

}
让·克洛德·阿尔博特

“ ptr2将指向NULL,因此应该删除最后一个节点。”

不。

您使指针无效,该指针是局部变量(在使它无效之前碰巧指向链接列表中的某物),而不是链接列表结构的链接指针部分:它对链接列表没有影响。

请注意,更正此错误后,您将发生内存泄漏(已删除的节点)。

另外,ptr1和ptr2始终指向同一事物,同时保留两者都没有意义。您最初可能有使用ptr2 == ptr1-> link或其他方法的想法,但这不是必需的,并且您的测试ptr1 != NULL && ptr2->link != NULL实际上等效于ptr1 != NULL && ptr1->link != NULL

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的mouseOver函数不起作用?

来自分类Dev

为什么我的函数调用不起作用?

来自分类Dev

为什么“ $ _COOKIE”导致我的fwrite()函数不起作用?

来自分类Dev

为什么函数'x'.write(frame)对我不起作用?

来自分类Dev

为什么我的def函数在Python中不起作用?

来自分类Dev

为什么我的deleteMessage函数不起作用?

来自分类Dev

为什么我的jquery函数调用不起作用?

来自分类Dev

为什么我的%d函数不起作用?

来自分类Dev

为什么onLocationChanged函数对我不起作用?

来自分类Dev

为什么我的append函数不起作用?

来自分类Dev

为什么我的函数的此签名不起作用?

来自分类Dev

为什么“ $ _COOKIE”导致我的fwrite()函数不起作用?

来自分类Dev

为什么我的transposeMatrix函数不起作用?

来自分类Dev

为什么我的 scanf 在函数中不起作用?

来自分类Dev

为什么 if/else 语句在我的函数中不起作用?

来自分类Dev

为什么我的地图函数返回视图不起作用?

来自分类Dev

为什么我的回文函数不起作用?

来自分类Dev

为什么didReceiveData函数不起作用

来自分类Dev

为什么system()函数不起作用?

来自分类Dev

bash函数-为什么不起作用

来自分类Dev

为什么.hasClass函数不起作用?

来自分类Dev

为什么replace()函数不起作用?

来自分类Dev

为什么header()函数不起作用?

来自分类Dev

为什么setText()函数不起作用?

来自分类Dev

为什么click()函数不起作用?

来自分类Dev

bash函数-为什么不起作用

来自分类Dev

为什么javascript函数不起作用?

来自分类Dev

为什么 EXCEPT 函数不起作用?

来自分类Dev

为什么我的printf不起作用?

Related 相关文章

热门标签

归档