【C】使用函数递归实现二分查找数组最大值

#include <stdio.h>
//二分查找最大值
int Max(int r[],int low,int high){
    int mid,maxL,maxR;
    if (low==high){
        return r[low];
    }
    else{
        mid=(high+low)/2;
        maxL=Max(r,low,mid);
        maxR=Max(r,mid+1,high);
        if (maxL>maxR){
            return maxL;
        }
        else{
            return maxR;
        }
    }
}
int main(){
    int a[]={0,1,2,4,8,6,7,2,0,1,4,5,6,45,88,1,5};
    printf("Max is %d",Max(a,0,sizeof(a)/sizeof(a[0])-1));
}
© 版权声明
THE END
点赞9 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容