“第四章串”自测作业.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
“第四章串”自测作业

“第四章 串 单项选择题1.串的连接运算不满足?????? 。A. 分配律???????? B. 交换律?????? C. 结合律?????? D. 都不满足2.串是一种特殊的线性表,其特殊性体现在 ??????????。A. 可以顺序存储????????? B. 数据元素是一个字符C. 可以链接存储????????? D. 数据元素可以是多个字符3.设有两个串p和q,求q在p中首次出现的位置的运算称作??????????? 。A.? 连接??????? B.? 模式匹配????? C.? 求子串?????? ??D.? 求串长4.串是一个??????? 的序列。A. 不少于一个字母???? B. 有限个字符?C. 不少于一个字符????? D. 空格或字母5.已知串s=’ABCDEFGH’,则s的所有不同子串的个数为?????????? 。A. 8?? ?????B. 9?? ????C. 36?? ????D. 37 6. 设串 s1=’ABCDEFG’,s2=’PQRST’,函数 con(x,y)返回 x 和 y 串的连接串,subs(s,i,j)返回串 s 的从序号 i 的字符开始的 j 个字符组成的子串,length(s)返回串 s 的长度,则 con(substr ing(s1,2,length(s2)),subs(s1,len(s2),2))的结果串是?????????? 。A. BCDEF??????????????????????? B. BCDEFG C. BCPQRST????????????????????? D. BCDEFEF 填空题1.两个串相等的充分必要条件是 ?????????? 。2.空格串是? ,其长度等于??? ? 。3.模式串‘abaabade’的next函数值为??????????? (请列表说明)。4.在串S=’tuition’中,以t为首字符且值不相同的子串有????????? 个?‘t’??‘tu’ ‘tui’ ‘tuit’ ‘tuiti’ ‘tuitio’ ‘tuition’ ‘ti’ ‘tio’ ‘tion’???? 。 5. 使用求子串substring(S,pos,len)和联接concat(S1,S2)的串操作,可从串s=’conduction’中的字符得到串t=’cont’,则求t的串表达式为?substring(s,1,3),substring(s,7,1))?????????? 。6. 已知字符串p=’abcabcabbac’,则next(3)和next(6)分别为??? ①?? 、??? ②??? 。 7. 设对主串’bcdbcddabcdbcdbac’和模式串’bcdbcdb’进行KMP模式匹配。第1趟匹配失败后,则下一趟匹配将由主串的第?? ①???? 个字符与模式串的第__②___字符开始比较字符串中字符从1开始编号。#include stdio.h #include string.h #include malloc.h #define MAX 30 typedef struct stack { char data[MAX]; int top; }*STACK,node; void initstack(STACK st) { st-top=-1; } int push(STACK st,char *stringin) { if(st-top==MAX-1) return 0; while(*stringin) st-data[++st-top]=*(stringin++); return 1; } int pop(STACK st,char *stringout) { if(st-top==-1) return 0; while(st-top!=-1) *(stringout++)=st-data[st-top--]; *stringout=\0; return 1; } int compare(char *stringin,char *stringout) { if(!strcmp(stringin,stringout)) return 1; return 0; } void showanswer(int judge) { if(judge) printf(yes\n); else printf(no\n); } void main() { char *stringin=NULL,*stringout=NULL; int judge; STACK st=NULL; stringin=(char *)malloc(MAX*sizeof(char)); stringout=(char

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档