gpt4 book ai didi

c++ - 插入链表创建循环

转载 作者:行者123 更新时间:2023-11-28 03:36:17 32 4
gpt4 key购买 nike

因此,我尝试用 C++ 实现一个简单的链表,但我的类的 push 方法有问题。基本上,当我将第一个节点添加到列表时,一切正常;但是,当我添加第二个节点时,它最终指向自身(即 secondNode.next == &secondNode)。

class linkedList
{
public:
node head;
linkedList()
{
head.next = NULL;
}
void push(node new)
{
if(head.next == NULL)
{
head.next = &new;
new.next = NULL;
}
else
{
new.next = head.next;
head.next = &new;
}
}
};

我不知道哪里出了问题...任何帮助将不胜感激。

最佳答案

void push(node new)

您必须复制该对象,如下所示:

void push(node& new)

否则你获取的是在函数末尾删除的对象的地址

关于c++ - 插入链表创建循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770543/

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