用递归求数组最大值的位置

来源:互联网 发布:手机淘宝宝贝无线连接 编辑:程序博客网 时间:2024/05/05 05:31

法一:

int max(const int a[], int n) {        if (n == 1) return 0;        int p = max(a + 1, n - 1);        return a[0] > a[p + 1] ? 0 : p + 1;}

法二:

int MaxIndex2(int* A,int n){        if(n==1)                return 0;        int mid=n/2;        int left=MaxIndex(A,mid);        int right=MaxIndex(A+mid,n-mid);        return A[left] > A[right+mid]?left : right+mid;}


0 0