首页 > 其他 > 详细

一维数组,求最大子数组!!!

时间:2014-04-02 08:41:05      阅读:429      评论:0      收藏:0      [点我收藏+]

#include<stdio.h>
#define LENGTH 10

int max_subset(int *data,int len,int *s,int *l)
{
int max=0;
int i,j;
int sum=0;
int start,end;

for(i=0;i<len;i++)
{
if(sum<=0)
{
sum=data[i];
start=end=i;
}
else
{
sum=sum+data[i];
end=i;
}
if(sum>max)
{
max=sum;
*s=start;
*l=end;
}

}

if(max==0)
{
max=data[0];
*s=*l=0;
for(i=1;i<len;i++)
{
if(data[i]>max)
{
max=data[i];
*s=*l=i;
}
}
}
return max;
}
int main()
{
printf("输入10个数字\n");
int data[LENGTH];
for(int i=0;i<10;i++)
scanf("%d",&data[i]);
int result=0;
int s,l;
result=max_subset(data,LENGTH,&s,&l);
printf(" 最大子数组值是 %d 数组内部从 %d 到 %d \n",result,s,l);

return 0;
}

一维数组,求最大子数组!!!,布布扣,bubuko.com

一维数组,求最大子数组!!!

原文:http://www.cnblogs.com/xiaocongjiejie/p/3639262.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!