C++使用分治法找最大值

/*
*   description:分治法找最大值例子
*   writeby:    nick
*   date:       2012-10-22 23:56
*/
#include <iostream>

using namespace std;

typedef int item;

item max(item a[], int l, int r)
{
    if(l==r) return a[l];
    int m = (l+r)/2;
    item u = max(a, l, m);  //查找左边最大
    item v = max(a, m+1, r);//查找右边最大
    return u>v?u:v;
}

int main()
{
    int a[10]= {0,2,4,6,8,9,7,5,3,1} ;
    cout << max(a, 0, 9);
    return 0;
}
原文地址:https://www.cnblogs.com/wouldguan/p/2734773.html