void MAXMIN(int a[],int left,int right,int &fmax,int &fmin){
if(left==right) fmax=fmin=a[left];
else if(left==right-1) {
fmax=(a[left]>a[right])?a[left]:a[right];
fmin=(a[left]<a[right])?a[left]:a[right];
}
else{
int mid=(left+right)/2;
int lmax,lmin,rmax,rmin;
MAXMIN(a,left,mid,lmax,lmin);
MAXMIN(a,mid+1,right,rmax,rmin);
fmax=(lmax>rmax)?lmax:rmax;
fmin=(lmin<rmin)?lmin:rmin;
}
}
二分法求解数组最大最小值
最新推荐文章于 2024-04-25 16:39:42 发布