gpt4 book ai didi

java - 找到链表中的最小值

转载 作者:行者123 更新时间:2023-11-30 02:18:40 25 4
gpt4 key购买 nike

很难弄清楚这一点,每次我运行代码时,程序都会永远运行,链接列表中的其他所有内容都运行良好。包括删除。

public Node smallestValue() {
Node current = firstL;
int min = current.data;

if (!isEmpty()) {
while (current != null) {
if (min < current.data) {
min = current.data;
current = current.next;
}
}
} else {
System.out.println("empty list");
}

System.out.println();
System.out.println(min);

return current;
}

最佳答案

您需要提前current是否min < current.data 。只需将作业移至 if 之外即可。 (此外,正如 @0x499602D2 在评论中指出的那样,要找到最小值,当 min 大于 current.data 时,您需要更改它。)

while(current != null){
if(min > current.data){
min = current.data;
}
current = current.next;
}

将其设置为 for 可能会更清晰循环:

for (Node current = firstL, int min = current.data;
current != null;
current = current.next)
{
min = Math.min(min, current.data);
}

因为这是在空列表的测试中,所以这样做的优点是不会崩溃 if firstLnull (我认为,如果列表不为空,则不会发生)。

关于java - 找到链表中的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47523908/

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