gpt4 book ai didi

c - 在链表的末尾插入一个元素?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:55:34 24 4
gpt4 key购买 nike

当通过列表的头部时,“在简单链表的末尾插入一个元素”的实现有什么问题?

void insert (int x, cel *ini) {
cel *tmp = ini;
while (tmp != NULL)
tmp = tmp->prox;
cel *new = malloc(sizeof(cel));
new->value = x;
tmp->prox = new;
new->prox = NULL;
}

最佳答案

这应该有效:

void insert (int x, cel *ini) {
cel *tmp = ini;cel *left;
while (tmp != NULL)
{
left = temp;
tmp = tmp->prox;
}
cel *new =(cel*) malloc(sizeof(cel));
new->value = x;
left->prox = new;
new->prox = NULL;
}

您一直在检查直到 tmp 为空,然后添加 tmp->prox=new。但问题是当前温度为 NULL。您需要从之前的临时节点指向新节点。

关于c - 在链表的末尾插入一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38113490/

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