读书人

题高手给个提示

发布时间: 2012-02-22 19:36:55 作者: rapoo

弱弱的问题,高手给个提示
char a[n] = {};//不确定有多少个元素,待 cin
char b[m] = {};//也不确定有多少个元素,待cin
/*问题no.1在不知道会输入多少元素的情况下,a[]在C++里面真的没办法定义?(动态。。。。?)
m <n,判断a是否包含b的for实现的代码,*/
有没有更高效的方法。




[解决办法]
只管cin就是了,从流中一个一个的读出来,有多少个就new多少空间.

m <n, 用KMP,顺道还能得到第一个匹配的位置。

是我理解太简单了?还是你没说清楚呢
[解决办法]
不确定元素个数, 可以动态分配(但这种方式一般要在输入前还是要知道数量的), 也可以用vector或list, 当然也可以自己建立一个数据结构.
[解决办法]
m <n,判断a是否包含b的for实现的代码

int flag = 1;
int i, j;
for(i=0; i <m&flag; i++)
{
for(j=0; j <n; j++)
if(a[j] == b[i])break;
if(j==n)flag=0;
}
if(i < m)cout < < "Yes " < <endl;
else cout < < "NO " < <endl;

读书人网 >C++

热点推荐