gpt4 book ai didi

c++ - 从链表中删除数据

转载 作者:行者123 更新时间:2023-11-28 07:45:55 24 4
gpt4 key购买 nike

我正在尝试从链表中删除。但是,如果我尝试删除第一个元素,它似乎不起作用。

if (found)
{
if (prev == NULL)
{
prev = head;
prev -> next = curr -> next;
delete curr;
}
else
{
prev -> next = curr -> next;
delete curr;
}
}

return found;

如果我要从中间或尾部的某处删除,则 findNode 函数会起作用。但我发现如果我从尾部删除,我必须将 next 设置为 NULL,对吗?

最佳答案

问题是可能您实际上并没有更改head 以指向列表的新头部。您必须更改 head:

if (prev == NULL)
{
head = head->next; // Set `head` to point to the next node, i.e. the new `head`
delete curr;
}

关于c++ - 从链表中删除数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14880773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com