gpt4 book ai didi

c - 从链表中删除和返回值

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:45 24 4
gpt4 key购买 nike

给定位置,我将如何返回给定位置的值,并从链表中删除该值?

我认为,我所拥有的只能用于删除值,而不是返回值。

int i;
node *tmp = head;
for(i=0 ; i<pos; i++)
tmp = tmp->next;
node* tmp2 = tmp->next;
tmp->next = tmp->next->next;
free(tmp2);
return 0;

最佳答案

使用一些本地内存存储数据,删除后返回。

int i;
int data = 0; //for storing data
node *tmp = head;
for(i=0 ; i<pos && tmp != NULL; i++) //Added for checking end of list
tmp = tmp->next;
node* tmp2 = tmp->next;
tmp->next = tmp->next->next;
data = tmp2->data; //copy data to local struct before deleting
free(tmp2);
return data; //return the data

关于c - 从链表中删除和返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17692338/

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