填空题
[说明]
试从含有n个int 型数的数组中删去若干个成分,使剩下的全部成分构成一个不减的子序列。设计算法和编写程序求出数组的不减子序列的长。
[C++ 程序]
#include<stdio.h>
#define N 100
int b[]={9,8,5,4,3,2,7,6,8,7,5,3,4,5,9,1};
int a [N];
#define n sizeofb/sizeofb[0]
void main ( )
{
kit k,i,j;
(1)
(2)
for (i=1;i<n; i++ )
{
for ( j=k; (3) ; j--);
(4) ; /*长为 j+1 的子序列的终元素存储在 a[j+1]*/
if ( (5) k++; /*最长不减子序列长 k 增1*/
}
printf ( "K = %d\n ",k );
}
【参考答案】
(1)a[1] =b[0] (2) k=1