gpt4 book ai didi

c - 从链表中查找最大值

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

我必须创建一个包含 10 个节点的链表,每个节点都有一个 double 值。然后我必须在这个链表中搜索链表中的最大值,并显示结果。该程序从用户那里获取每个节点的值。下面是我遍历列表的方法,试图找到最大值。

定位最大的元素。我想这就是我的问题所在。

struct node *ptr = head;
double largest = 0.0;
while (ptr != NULL)
{
if (ptr->val > largest)
largest = ptr->val;

ptr = ptr->next;
}

printf("The largest value is %lf \n", largest);

程序输出:0.0000

我不知道为什么。

最佳答案

如果列表中的最大值小于 0.0,您编写的算法将不起作用。

更好的解决方案是定义一个“指向找到的最大节点的指针”,该指针最初为 NULL。

在循环中,如果此指针为 NULL,则“第一个条目始终是迄今为止最大的”。 (后面的节点可能会发现变大了。。。)

如果循环后指针为 NULL,则列表一定是空的。

关于c - 从链表中查找最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29776461/

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