网站大量收购独家精品文档,联系QQ:2885784924

教案及课件4串.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
void get_next(SString T, int next[] ) { // 求模式串T的next函数值并存入数组next i = 1; next[1] = 0; j = 0; while (i T[0]) { if (j = 0 || T[i] == T[j]) {++i; ++j; next[i] = j; } else j = next[j]; } } // get_next 求next函数值的过程是一个递推过程,算法如下: Nextval算法 void get_nextval(SString T, int nextval[]) { i = 1; nextval[1] = 0; j = 0; while (i T[0]) { if (j = 0 || T[i] == T[j]) { ++i; ++j; if (T[i] != T[j]) next[i] = j; else nextval[i] = nextval[j];} else j = nextval[j]; } } // get_nextval 大家来思考 问题 问题: 串是一种特殊的线性表,其特殊性表现在哪里? 回答: (1)其数据元素都是字符 (2)顺序存储和链式存储 (3)串的长度相等且两串中对应位置的字符也相等 小结 本章主要介绍了如下一些基本概念: 串: 主串和子串: 串的静态存储结构: 堆存储结构: 串的链式存储结构: 除上述基本概念以外,还应该了解串的基本运算(字符串拷贝(赋值、字符串的联接、求字符串的长度、子串的查询、字符串的比较)、串的静态存储结构的表示、串的链式存储结构的表示、串的堆存储结构的表示,能在各种存储结构方式中求字符串的长度、能在各种存储结构方式中利用C语言提供的串函数进行操作。 * 练习一下吧 1.若串S1=‘ABCDEFG’, S2=‘9898’ ,S3=‘###’,S4=‘012345’,执行 concat(replace(S1,substr(S1,length(S2),length(S3)),S3),substr(S4,index(S2,‘8’),length(S2))) 其结果为( ) A.ABC###G0123 B.ABCD###2345 C.ABC###G2345 D.ABC###2345 E.ABC###G1234 F.ABCD###1234 G.ABC###01234 2.串的长度是指( ) A.串中所含不同字母的个数 B.串中所含字符的个数 C.串中所含不同字符的个数 D.串中所含非空格字符的个数 * 作业 1.知U=‘xyxyxyxxyxy’;t=‘xxy’; ASSIGN(S,U); ASSIGN(V,SUBSTR(S,INDEX(s,t),LEN(t)+1)); ASSIGN(m,‘ww’) 求REPLACE(S,V,m)= ________。 2.设s1=”AB”,s2=”ABCD”,s3=”EFGHIJK,试画出堆存储结构下的存储映象图。 3.已知:s1=〃I’m a student〃,s2=〃student〃,s3=〃teacher〃,试求下列各运算的结果: strstr(s1,s2);strlen(s1); strcat(s2,s3);delstr(s1,4,10); Logo Company Logo 数据结构 第四章 串 内容提要 串类型的定义 4.1 串的表示和实现 4.2 串的模式匹配算法 4.3 基本 要求 (1)掌握串的逻辑结构和基本运算。 (2)掌握顺序、链式和堆存储结构。 (3)掌握串的基本运算实现。 重点 串的七种基本运算的定义,利用这些基本运算来实现串的其它各种运算的方法,在顺序存储结构上实现串的各种操作的方法。 难点 BF和KMP算法。 基本要求、重点、难点4 记为: s =‘ a1 a2 …….. an’ (n≥0 ) 串名 串值(用‘ ’ 括起来) 串即字符串,是由零个或多个字符组成的有限序列,是数据元素为单个字符的特殊线性表。 4.1 串类型的定义 隐含结束符‘\0’ ,即ASCII码NUL 术语: 串长:串中字符的个数(n≥0). n=0 时称为空串 ? 。 空白串:由一个或多个空格符组成的串。 问:空串和空白串有无区别? 答:有区别。 空串(Null Strin

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档