gpt4 book ai didi

c - 在数组中查找最小值和最大值时使用哪种方法?

转载 作者:行者123 更新时间:2023-12-01 21:59:18 26 4
gpt4 key购买 nike

我想知道在数组中找到最小值和最大值的最佳方法是什么。我使用两种方法(我的数组是 a,大小为 size):

方法一:

int min = 0, max = 0;
for(int i = 0; i < size; i++)
{
if(a[i] > max || i == 0) max = a[i];
if(a[i] < min || i == 0) min = a[i];
}

方法二:

int min = INT_MAX, max = INT_MIN;
for(int i = 0; i < size; i++)
{
if(a[i] > max) max = a[i];
if(a[i] < min) min = a[i];
}

方法 3:

int min = a[0], max = a[0];
for(int i = 1; i < size; i++)
{
if(a[i] > max) max = a[i];
if(a[i] < min) min = a[i];
}

方法 2 似乎对我的新手来说更优化一点(我们不必在每次循环迭代时评估 i == 0 2 次。但是,我担心玩这些限制值可能会出错。不过,这已在方法 3 中解决。这三个中哪个是最优的,为什么?

感谢大家的回复!

最佳答案

尝试选择第三个选项。它更优化,然后您不必处理极限值。

关于c - 在数组中查找最小值和最大值时使用哪种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54305085/

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