吾乃无名小辈,欢迎各位提出错误,共同进步
//头文件 inc.h
//定义结果类
#pragma once
#include <iostream>
using namespace std;
class CReslut {
public:
int max_left;//最大子数组左边界
int max_right;//最大子数组右边界
int max_sum;//最大子数组和
CReslut() {
max_left = 0;
max_right = 0;
max_sum = 0;
};
};
分治算法:
#include<iostream>
#include "inc.h"
using namespace std;
//寻找跨越分治中点的最大子数组
CReslut Find_MAX_Mid(int* A, int low, int mid, int high) {
CReslut re;
int left_sum = -10000;//-∞
int right_sum = -10