c语言分治法找出最大最小值,数据结构(C)---分治法求最大值最小值
#include int main(){void max_min( int s[] , int *max ,int *min);int max , min ;int n;scanf("%d" ,&n);int num[n];while( n-- ){scanf("%d" , &num[i]);}max_min(num...
#include
int main()
{
void max_min( int s[] , int *max ,int *min);
int max , min ;
int n;
scanf("%d" ,&n);
int num[n];
while( n-- )
{
scanf("%d" , &num[i]);
}
max_min(num , &max , &min);
printf("max=%d , min=%d" , max,min);
return 0;
}
void max_min( int s[] , int *max ,int *min)
{
int max1 , min1 , max2 , min2;
if(sizeof(s)/sizeof(int)==2) //判断数据个数 若数据个数是2个 那么就直接进行比较
{
if(*s>*(s+1))
{
*max=*s;
*min =*(s+1);
}else{
*max=*(s+1);
*min =*s; }
}else{ //数据个数大于2个 将数据分为2组 进行递归调用
max_min(s , &max1, &min1); //数据组1
max_min(s+sizeof(s)/sizeof(int)/2 , &max2 , &min2); //数据组2
if(max1>max2)
{
*max=max1;
}else{
*max=max2;
}
if(min1>min2)
{
*min=min2;
}else
*min=min1;
}
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)