计算机软件技术基础利用减半递推技术,写出求长度为n的数组中最大元素的递归算法。设n=2^k,其中k>=1!

来源:百度知道 编辑:UC知道 时间:2024/05/25 07:16:24
利用减半递推技术,写出求长度为n的数组中最大元素的递归算法。设n=2^k,其中k>=1!
能把大概的程序写出来么,我自己去调~谢谢了

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;
int half(int s,int e,int a[])
{
int m,m1,m2;
if (s==(e-1)) m=a[s];
else
{
m1=half(s,(s+e)/2,a);
m2=half((s+e)/2,e,a);
m=(m1>m2?m1:m2);
}
return m;
}
int main()
{int a [100],max=0;
srand((unsigned)time(NULL));
for(int i=0;i<100;i++)
{
a[i]=100*rand()/RAND_MAX;
}
for(int j=0;j<100;j++)
{
cout<<a[j]<<'\t';
}
cout<<endl;
max=half(0,99,a);
cout<<"减半递推求得最大值为"<<max<<endl;
return 0;
}
南航四院12级请勿直接复制