分治法示例

#include <stdio.h>

int max(const int a[], int l, int r)
{
    if(l == r) return a[l];
    int mid = (l+r) / 2;
    int u = max(a, l, mid);
    int v = max(a, mid+1, r);
    return u>v? u : v;
}

int main()
{
    int a[5] = {4,2,6,4,8};
    printf("%d", max(a, 0, 4));
           return 0;
}
原文地址:https://www.cnblogs.com/wouldguan/p/2764924.html