问题描述
从数组区间A[low, high]中找出最大的两个整数A[x1]和A[x2]
算法思路
这里我们使用递归分治的策略,把问题划分为求A[low, middle],B[middle + 1, high]的子问题。
递归基为
if(low == high)
{
x1 = low;
x2 = -99999; // 这里表示一个极小的数
}
具体代码
#include <stdio.h>
void max2(int A[], int low, int high, int &x1, int &x2)
{
// 当只有一个元素时,将low的值赋给x1,x2赋予足够小的负数
if(low ==