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; }