分治法示例
#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; }