数据结构第四章串

数据结构第四章串

ID:38701075

大小:59.90 KB

页数:6页

时间:2019-06-17

数据结构第四章串_第1页
数据结构第四章串_第2页
数据结构第四章串_第3页
数据结构第四章串_第4页
数据结构第四章串_第5页
资源描述:

《数据结构第四章串》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章串:习题习   题  一、选择题   1.下列关于串的叙述中,正确的是( )。     A.空串是由一个空格字符组成的串     B.一个串的长度至少是1     C.一个串的字符个数即该串的长度     D.两个串SI和s2若长度相同,则这两个串相等   2.设有两个串S1和S2,求S2在S1中首次出现的位置的运算称为( )。     A.模式匹配   B.联接   C.求子串   D.求串长   3.( )为空串。     A.S="   "   B.S2=""   C.S=" a"   D.S="

2、b   "   4.sl="bccadcabcadf",s2=”abc”,则s2在sl中的位置是( )。     A.7   B.8   C.6   D.9   二、填空题   1.串具有____、____和____存储结构。   2.两个串相等的充分必要条件是____。   3.空串长度等于____;空格串长度等于____。   4.在串的链式存储结构中,每个结点域可以存放____字符,也可以存放____字符,通常将每个结点所存储的字符个数称为结点的大小。   若S1=“abcdefg”,S2=”def",

3、求下列5~8串运算的值:   5.Index(s1,“c”)________。   6. SubStr(s1,2,3)=____.   7. Concat(s1,s2)后,s1=_____。   8.Length(s1)=___。   三、简答题   1.简述空串和空格串的区别。   2.串主要有哪几种存储结构?各有什么特点?   3.设s="Iamaworker",t="good",u="teacher"。   求:Length(s), Length(t), SubStr(s,8,6), SubStr(t,

4、2,1), Index(s,”A"), Index(s,t),Replace(s,8,6,u),  Concat(SubStr(s,6,2),  Concat(t,SubStr(s,7,7)))。第四章串第4章 串 一、选择题(参考答案) l.C     2.A     3.B    4.D 二、填空题(参考答案) 1.顺序,链式,堆分配。 2.两个串的长度相等且对应位置的字符相同。 3.零,空格字符组成的串中所包含的空格个数。 4.一个,多个。 5.4.               6."bc"。 7.ab

5、cdefgdef。   8.8。   三、简答题   1.空串和空格串的区别如下:   空串是零个字符的串,空串的长度为零;空格串是由一个或多个空格字符组成的串,空格串长度等于其包含的空格个数。   2.串主要有那几种存储结构?各有什么特点?   参见4.2   3.已知:s=“(xyz)+*”,t=“(X+z)*y”。试利用联接、求子串和置换等基本运算,将s转换为t。   提示:s1=SubStr(s,3,1); s2=SubStr(s,6,1); s3=SubStr(s,7,1);   s4=SubStr

6、(Replace(s,3,1,s2),1,5);   t=Concat(Concat(s4, s3),sl)   4.串s=“abcabaa”的next函数值,如下表所示:   四、算法题   1.试编写一个算法,在串的顺序存储结构上实现求串长度的基本运算。   intlength(chars[])   {   inti;   i=0;   while(s[i]!='') i++;   returni;   }   利用下面的函数可以对算法的功能进行测试   main()   {   chars[50];

7、   printf("\n请输入字符串:(串长不超过50)");   scanf("%s",s);   printf("thisstringlengthis:%d",length(s));   }   2.在串的顺序存储结构上实现串的赋值的基本算法。   void Assign(string*s,stringt)   //s为串指针类型的参数   { //将串变量t的值赋给串变量s   inti;   for(i=0;i

8、en=t.curlen;   }   3.试编写一个算法,在串的顺序存储结构上实现从串s中删去从第pos个字符起长度len的子串。具体算法如下   string Delete(strings,int pos,int len)   { //从串s中删去从第pos个字符起长度为len的子串    intk;    stringch;    ch.curlen=0;    if(pos<0

9、

10、pos>s.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。