gpt4 book ai didi

c - 访问链表中的结构

转载 作者:行者123 更新时间:2023-11-30 17:03:13 26 4
gpt4 key购买 nike

我有一个指针指向链表中的第一个结构,但是我如何才能只打印出链表的第五个结构?

链表由100个结构组成,全部按顺序排序,但是我如何才能打印出例如链表的第4个和第7个结构?

struct human {
char name[STR];
char manuf[STR];
int age;
float weight;
struct human *next;
}

struct human *current; //Points to current structure.
struct human *first = NULL;

......

for (current = first; current != NULL; current = current->next) {
fprintf(stdout, "%s %s %d %f \n", out->name, out->surname,
out->age, out->weight);
}

“first”将指向链表的第一个元素(它是通过代码中的某个函数定义的)。这段代码将打印出链表中的每个结构,但我只想打印选定的结构,例如第四个和第七个。我怎样才能做到这一点?

最佳答案

您可能应该首先通过一些 YouTube 视频了解链表遍历。你需要从头开始

int position= 4;//considering u need to get the 4th element
int output;// stores the final output
struct human *temp= current;
for(i=0; i<position-1;i++)
{
temp=temp->next;
}

在此 for 循环结束时,您将到达所需的节点。

output= temp->age;//u can access any other data you want as well in the node

您可能还想在 for 循环中进行某些错误检查,例如 -

for(i=0; i<position-1;i++)
{
temp=temp->next;
if(temp==NULL)
{
break;
}
}

关于c - 访问链表中的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36241200/

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