Findmaxmin递归算法实现

来源:互联网 发布:数据量化方法 编辑:程序博客网 时间:2024/05/29 18:01
#include <stdio.h>    int Findmax(int *a,int left ,int right){if(left==right)    return a[left];//递归终止条件int k=(left+right)/2;int l=Findmax(a,left,k);int r=Findmax(a,k+1,right);return (l>r)?l:r;}int Findmin(int *a,int left,int right){     if(left==right)        return a[left];//递归终止条件    int k=(left+right)/2;    int l=Findmin(a,left,k);    int r=Findmin(a,k+1,right);        return (l<r)?l:r;}int main(){    int i,n;    scanf("%d",&n);    int a[n];    for(i=0;i<n;i++){        scanf("%d",&a[i]);    }    int max=Findmax(a,0,n-1);    int min=Findmin(a,0,n-1);    printf("Findmax 最大为%d,Findmin 最小为%d",max,min);    return 0;    }
原创粉丝点击