开发者社区> 问答> 正文

利用减半递推技术,写出求长度为n的数组中最大元素的递归算法。设n=2点k次方,

利用减半递推技术,写出求长度为n的数组中最大元素的递归算法。设n=2点k次方,

展开
收起
知与谁同 2018-07-20 10:13:36 4341 0
1 条回答
写回答
取消 提交回答
  • 胜天半子

    以下的程序,n为非0任意自然数:

    #include"stdio.h" 

    int max(int a[],int left,int right)

    {int mid=(left+right)/2;

    if(mid==left)return a[left]>a[right]?a[left]:a[right];

    else return max(a,left,mid)>max(a,mid+1,right)?max(a,left,mid):max(a,mid+1,right);

    }

    int main() 

    {int i,a[12]={34,12,76,98,43,45,79,62,96,91,30,84};

    for(i=0;i<12;i++)printf("%d ",a[i]);

    printf("\nmax=%d\n",max(a,0,11));

    return 0;

    }

    2019-07-17 22:54:39
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
数据+算法定义新世界 立即下载
袋鼠云基于实时计算的反黄牛算法 立即下载
Alink:基于Apache Flink的算法平台 立即下载