【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 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容