gpt4 book ai didi

c - 为什么在链表中插入节点后返回指针

转载 作者:行者123 更新时间:2023-11-30 19:42:50 25 4
gpt4 key购买 nike

我不明白为什么在将节点添加到链表后我们必须返回指向头节点的指针。

struct node *append(int v) {
struct node *ptr;
struct node *t;
ptr=head;
while (ptr->next != tail) ptr = ptr->next;
t=(struct node *) malloc(sizeof *t);
t->value=v;
t->next = tail;
ptr->next = t;
return ptr; // why return ptr?
}

最佳答案

这取决于您的问题的背景。通常在链表问题中,您必须返回列表的头部,以便数据结构保持一致,但我从您的代码推断头部是一个全局变量。

除非调用此函数的代码需要知道创建的新节点的位置,否则您不需要返回该节点,因为您的 head 是一个全局变量(同样,如果我的假设是正确的)。

除此之外,我建议修改你的函数,因为我看到你在这里遗漏了一些情况(例如,如果列表为空并且你必须更改头部怎么办?)

关于c - 为什么在链表中插入节点后返回指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30542532/

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