用递归法求解一个数组中的最大值和最小值的问题
发布网友
发布时间:2022-05-12 04:08
我来回答
共1个回答
热心网友
时间:2023-11-10 02:15
#include<stdio.h>
//递归求解对大最小值
void findMinMax(int a[],int l,int r,int *maxnum,int *minnum)
{
if(l==r)
{
*maxnum=*minnum=a[l];
return ;
}
int mid,lmin,rmin,lmax,rmax;
mid = (l+r)/2;
findMinMax(a,l,mid,&lmax,&lmin);
findMinMax(a,mid+1,r,&rmax,&rmin);
*maxnum=lmax>rmax?lmax:rmax;
*minnum=lmin<rmin?lmin:rmin;
}
int main()
{
int a[10]={
1,2,3,4,22,6,7,8,-1,10
},minnum,maxnum;
findMinMax(a,0,9,&maxnum,&minnum);
printf("%d %d",maxnum,minnum);
}
//问问题应该要给分 不然下次就没人给你解答了