最大子序列和的接口函数(2)

时间:2022-07-24
本文章向大家介绍最大子序列和的接口函数(2),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
int MaxSubsequenceSum(const int A[],int N)
{
	int thisSum,MaxSum,i,j,k;
	MaxSum=0;
	for(i=1;i<N;i++)
	{
		for(j=i;j<N;j++)
		{
			thisSum=0;
			for(k=i;k<j;j++)
			{
				thisSum+=A[K];			
			}
			if(thisSum>MaxSum)
				MaxSum=thisSum;
		}	
		return MaxSum
	}
}

举个例子,在test.c中:

#include <stdio.h>
#include <stdlib.h>

int MaxSubsequenceSum(const int A[],int N)
{
	int thisSum,MaxSum,i,j,k;
	MaxSum=0;
	for(i=0;i<N;i++)
	{
		printf("i:%d ....n",i);	
		for(j=i;j<N;j++)
		{
			printf("j:%d ....n",j);	
			thisSum=0;
			for(k=i;k<=j;k++)
			{
				printf("k:%d ....n",k);	
				thisSum+=A[k];			
			}
			if(thisSum>MaxSum)
				MaxSum=thisSum;
		}			
	}
	return MaxSum;
}

int main()
{
	int number[]={1,-1,3,4};
	int maxsum=0;
	
	printf("start ....n");	
	maxsum=MaxSubsequenceSum(number,4);
	printf("maxsum:%dn",maxsum);	
	exit(0);
}

linux下编译运行

gcc -o sub maxsub.c
./sub

得出结果

start ....
i:0 ....
j:0 ....
k:0 ....
j:1 ....
k:0 ....
k:1 ....
j:2 ....
k:0 ....
k:1 ....
k:2 ....
j:3 ....
k:0 ....
k:1 ....
k:2 ....
k:3 ....
i:1 ....
j:1 ....
k:1 ....
j:2 ....
k:1 ....
k:2 ....
j:3 ....
k:1 ....
k:2 ....
k:3 ....
i:2 ....
j:2 ....
k:2 ....
j:3 ....
k:2 ....
k:3 ....
i:3 ....
j:3 ....
k:3 ....
maxsum:7