该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

纯新手,最近想学一下算法,上网看了个教程,看到了一个很经典的返回最大子数组之和的问题,然后我想问一下我用分治法把最大和求出来了,但是要怎么返回子数组本身呢,因为是函数的递归,所以有些云里雾里。以下是我模仿着写的代码。输出结果是30。

int MaxAddSub(int *a,int front,int end)

{ //int i1,i2;

if(front==end)

return a[front];

int Middle=(front+end)/2;//寻找中间位置

int Max_1= MaxAddSub(a,front,Middle);//求左侧的数组最大的前缀和

int Max_2= MaxAddSub(a,Middle+1,end);//求右侧的数组最大的前缀和

int i,New=0,Left=0;

for(i=Middle;i>=front;i--)

{

New+=a[i];

if(Left

{

Left=New;

//i1=i;

}

}

int Right=0;

New=0;

for(i=Middle+1;i<=end;i++)

{

New+=a[i];

if(Right

{

Right=New;

//i2=i;

}

}

int Max_3=Left+Right;

if(Max_1>Max_2&&Max_1>Max_3)

return Max_1;

if(Max_2>Max_1&&Max_2>Max_3)

return Max_2;

if(Max_3>Max_2&&Max_3>Max_1)

return Max_3;

int main()

{

int Max;

int a[9]={1,-2,3,10,-4,7,2,5,7};

Max=MaxAddSub(a,0,8);

printf("%d",Max);

return 0;

}

z最大子数组c语言,关于最大子数组问题相关推荐

  1. c语言程序设计 周信东 数组,c语言程序设计周信东数组

    c语言程序设计周信东数组Tag内容描述: 1.第六章 数 组,数组的定义:是有序数据的集合. 数组的特点:数组中的每个元素都属于同一数据类型. 数组的访问:我们用一个统一的数组名和下标来唯一地确定数组 ...

  2. C语言编程输入动态数组,C语言完美实现动态数组代码分享

    我们知道,C语言中的数组大小是固定的,定义的时候必须要给一个常量值,不能是变量. 这带来了很大的不便,如果数组过小,不能容下所有数组,如果过大,浪费资源. 请实现一个简单的动态数组,能够随时改变大小, ...

  3. c语言中定义字母二维数组,C语言中二维字符数组

    C语言中二维字符数组的定义和初始化 一般来说,我们可能会希望定义一个二维字符数组并且在定义的时候就用一些字符串来初始化它.比如说: Code: 1.char testcase[30][MAX_LENG ...

  4. c语言中自定义函数返回数组,C语言自定义函数返回数组的方法(图文详解)

    C语言自定义函数返回数组的方法(图文详解) 最近看到一些同学问题,有提到说:如何在一个函数中返回数组呢? 能否直接在自定义 函数中,写成char *类型返回值,直接返回呢?,代码如下: 直接返回str ...

  5. java 传参字符串数组_JAVA语言之okhttp传递数组参数

    比较以上两种格式,发现格式不对.传给后台时,总是报参数错误的异常. 解决办法:定义一个对象继承自okhttp3.RequestBody public class DefaultRequestBody  ...

  6. c语言 常量字符串数组,C语言常量以及字符串数组

    #define aaa 5 //申明常量aaa,申明之后不需要分号,常量可申明在任意位置 enum Sex //申明三个枚举常量(性别),常量之间以逗号隔开 { Male, //男 Female, / ...

  7. c语言函数返回数组_C语言如何用一维数组拷贝函数,拷贝二位数组(C Primer Plus 10-7)...

    程序内容: 初始化一个double类型的二维数组,使用编程练习2中的一个拷贝函数把该数组中的数据拷贝至另一个二维数组. 程序为C Primer Plus第十章第七题的答案示例 附:程序代码为本人亲自编 ...

  8. c语言如何输出整形数组,C语言 有一个整形数组a,有10个元素,要求输出数组中的全部元素...

    有一个整形数组a,有10个元素,要求输出数组中的全部元素 解题思路:引用数组中各元素的值有3种方法:1.下标法,如a[3];2.通过数组名计算数组元素的地址,找出元素的值 3.用指针变量指向数组元素. ...

  9. C 语言编程 — 高级数据类型 — 数组

    目录 文章目录 目录 前文列表 数组 声明数组 初始化数据 访问数组元素 二维数组 指向数组的指针 将数组指针作为实参传入函数 从函数返回一个数组指针 指针数组 数组名和取数组首地址的区别 前文列表 ...

最新文章

  1. creo JAVA_Creo 4.0二次开发工具框架搭建
  2. 密度聚类、密度聚类过程、OPTICS算法
  3. Oracle使用遇到的问题
  4. 安卓进阶系列-08异步加载AsynsTask使用
  5. socket只能连接本地mysql_MySQL本地用IP登陆而非socket
  6. 数据结构期末复习-线性表查找
  7. 数据结构与算法LeetCode题目记录
  8. php文件打开老是自动下载
  9. 2022-2028中国金属制品市场现状研究分析与发展前景预测报告
  10. K8S学习之Statefulset
  11. Redis数据库的使用
  12. 锅炉如何实现物联网云平台方案
  13. 动态SQL 模糊查询 联表查询
  14. sql视图  view 和 MATERIALIZED VIEW
  15. 【爬虫学习】Cookie-淘宝登录
  16. HIT CSAPP大作业论文
  17. Dalsa智能相机使用流程
  18. leetcode Ch3-DFS Backtracking II
  19. t3系统总显示得不到服务器,用友T3不能连接服务器你好,用友T3总是说连接不到服务...
  20. LGPL 与GPL的区别

热门文章

  1. Qt之Q_GLOBAL_STATIC创建全局静态对象
  2. 强化学习note1——马尔科夫奖励过程MRP和马尔科夫决策过程MDP各个函数的定义与区别
  3. 2.2.2 定点数的运算(移位、原码和补码的加减乘除、溢出概念和判别方法)
  4. java 钉钉获取用户信息,JAVA maven项目如何使用钉钉SDK来获取token、用户
  5. mos管结电容等效模型_为什么我的mos管炸了???
  6. Linux C: 内嵌汇编语法
  7. kafka 不同分区文件存储_Kafka文件存储机制思考及答案:为什么要分区呢?分区存了哪些内容?...
  8. hisi mmz内存管理
  9. cmake / cmake --build 如何理解
  10. 文件上传打满服务器带宽,文件上传云服务器 带宽选择