问题
设计分治算法求一个数组中的最大元素。
算法分析
简单的分治问题
将数组均衡的分为“前”,“后”两部分
分别求出这两部分最大值,然后再比较这两个最大值
程序源码
完整的程序源代码如下:
#include "iostream"
using namespace std;
extern const int n=6;//声明
int main()
{
int a[n]={0,6,1,2,3,5};//初始化
int mid=n/2;
int num_max1=0,num_max2=0;
for(int i=0;inum_max1)
num_max1=a[i];
}
for(int j=n/2+1;jnum_max2)
num_max2=a[j];
}
if(num_max1>=num_max2)
cout<<"数组中的最大元素: "<<num_max1<<endl;
else
cout<<"数组中的最大元素: "<<num_max2<<endl;
return 0;