gpt4 book ai didi

c++ - 在链表的插入最后一个函数中交换两行时出错

转载 作者:太空狗 更新时间:2023-10-29 23:00:35 24 4
gpt4 key购买 nike

我不明白单链表中插入最后一个函数的一件事。这个函数总是在最后一个节点之后插入新项目。

newNode->next=temp->next;
temp->next=newNode;

我遇到了一个错误。我不知道为什么?请帮忙!!

int insertLast(int item)
{

struct listNode *newNode,*temp;
newNode=(struct listNode*)malloc(sizeof(struct listNode));

newNode->item=item;
newNode->next=NULL;
if(list==NULL)
{
list=newNode;
}
else
{
temp=list;
while(temp->next!=NULL)temp=temp->next;
newNode->next=temp->next;
temp->next=newNode;
}
return SUCCESS_VALUE;
}

最佳答案

newNode->next=temp->next;

NewNode->next 应该保持 null 因为您要添加到列表的末尾。现在你的列表最后会有一个圆圈 (temp->newNode->temp->newNode...) 所以你将无法通过它。

关于c++ - 在链表的插入最后一个函数中交换两行时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33413952/

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