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程序算法设计的学习有所帮助。