题:一组数字中有正有负,找出和最大的子序列。eg:1,2,-4,2,3,4,-2,1的最大子序列为2,3,4.
#include<iostream>
using namespace std;
typedef struct node
{
int data;
int x;
int y;
}Node;
void main()
{
Node Last;
Node Current;
int count = 0;//¼ÆÊýÆ÷
int Data[7] = {1,2,-4,2,3,1,2};
Last.x = 0;
Last.y = 0;
Current.x = 0;
Current.y = 0;
Current.data = 0;
Last.data = 0;
for ( count = 0; count < 7; count++ )
{
Current.data += Data[count];
Current.y = count;
if(Current.data>Last.data)
{
Last = Current;
}else
if (Current.data< 0)
{
Current.data = 0;
Current.x = count + 1;
}
}
cout << "Last.data = " << Last.data << endl;
cout << "Last.x = " << Last.x << endl;
cout << "Last.y = " << Last.y << endl;
}