编辑代码

#include <iostream>
using namespace std;

void count(int n[],int a,int b,int *maxvalue,int *minvalue)
{
    int mid = (a + b) / 2;
    int min1,min2,max1,max2;

    if(b-a<= 1)
    {
        if(n[a] > n[b])
        {
            *maxvalue = n[a];
            *minvalue = n[b];
            return;
        }
        else
        {
            *maxvalue = n[b];
            *minvalue = n[a];
            return;
        }
    }
   
    count(n,a,mid,&max1,&min1);
    count(n,mid+1,b,&max2,&min2);
    *maxvalue = max1 > max2 ? max1 : max2;
    *minvalue = min1 < min2 ? min1 :min2;
}

int main()
{
    int n[] = {11,9,20,56,42,3,7,15,16};
    int max = 0;
    int min = 0;
    count(n,0,7,&max,&min);
    cout<<"最大值为:"<<max<<endl;
    cout<<"最小值为:"<<min<<endl;
    return 0;
}