问题
填空题
[说明]
试从含有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
(3) j>1&&a[j]>b[i] (4)a[j+1]=b[i]
(5) j==k