//寻找最大值和最小值
#include<iostream>
using namespace std;
struct MaxMin{
int max;
int min;
};
int a[]={1,2,3,4,5,6,7,8,9,10};
MaxMin findMaxMin(int a[],int from,int to){
if(to-from==1){
int max,min;
if(a[from]<a[to]){
max=a[to];
min=a[from];
}else{
max=a[from];
min=a[to];
}
MaxMin r;
r.max=max;
r.min=min;
return r;
}
if(to==from){
MaxMin r;
r.max=a[from];
r.min=a[from];
return r;
}
int mid=(from+to)/2;
MaxMin left=findMaxMin(a,from,mid);
MaxMin right=findMaxMin(a,mid+1,to);
MaxMin res;
if(left.max>right.max)
res.max=left.max;
else
res.max=right.max;
if(left.min<right.min)
res.min=left.min;
else
res.min=right.min;
return res;
}
int main(){
MaxMin tt=findMaxMin(a,5,9);
cout<<tt.max<<" "<<tt.min<<endl;
return 0;
}
寻找最大数和最小数
最新推荐文章于 2020-09-12 17:27:24 发布