C语言求连续最大子数组和的方法
本文实例讲述了C语言求连续最大子数组和的方法,是非常实用的技巧。分享给大家供大家参考。
具体实现方法如下:
#include<iostream>
usingnamespacestd;
intarray[]={1,-2,3,10,-4,7,2,-5};
//intarray[]={-10,-1,-2,-3,-4,-5};
constintsize=sizeofarray/sizeof*array;
intmaxSubArray(int*array,intsize)
{
intmax=-(1<<31);
intsum=0;
intindex=0;
while(index<size)
{
sum+=array[index];
if(sum>max)
{
max=sum;
cout<<"max:"<<max<<endl;
}
if(sum<0)
sum=0;
index++;
}
returnmax;
}
intmain()
{
intindex=maxSubArray(array,size);
cout<<"index:"<<index<<endl;
}
希望本文所述对大家C程序算法设计的学习有所帮助。