您的位置:首页 > 其它

求数组中的最大和最小值

2012-10-01 19:59 120 查看
解法一:使用常规的解法,时间复杂度为N,比较次数看似2N,但实际上大于max的就不必和min比较了,同理,小于min的就不必和max比较了,因此比较的次数不足2N次

#include<stdio.h>
int main(void)
{
int a[5]={3,2,6,8,1};
int min=a[0];
int max=a[0];
int i;
for(i=0;i<=4;i++)
{
if(min>a[i])
{
min=a[i];
}
else if(max<a[i])
{
max=a[i];
}
}
printf("max=%d,min=%d",max,min);
return 0;
}


还有一些递归的做法,比较次数是1.5N,但是实际上效率是比较低的,后续讲解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: