问题:用分治法来求解一个数组的最大最小值
分析:用遍历的方法来求解当然很简单,但是题目给我们的要求是用分治法,因此我们需要每次利用递归来求数组的一个小部分的最大最小值,递归的结束条件是数组中有两个元素或者一个元素。
下面是C语言源代码:(在Linux Ubuntu下gcc 4.0 编译通过 )
#include <stdio.h>
// find the max and min value between a[m] and a[n]
void max_min(
int a[],int m, int n, int* max,int* min)
{
int middle,hmax,hmin,gmax,gmin;