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

2025-03-12 22:13:56
推荐回答(1个)
回答1:

#include
#include
#include
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<}
cout<max=half(0,99,a);
cout<<"减半递推求得最大值为"<return 0;
}
南航四院12级请勿直接复制