数据结构第九讲.pptVIP

  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文档。上传文档
查看更多
数据结构第九讲.ppt

桂林电子科技大学信息科技学院 赵莹莹 桂林电子科技大学信息科技学院 赵莹莹 本章要点 4.1 串及运算 4.1.1 串的逻辑结构 4.1.2 串的基本运算 4.2 串的存储结构 4.2.1 串的顺序存储结构及基本运算 4.2.2 串的链式存储结构及基本运算 删除 4.2.3 串的堆分配存储结构及基本运算(删除) 4.3 串的模式匹配 4.3.1 Brute-Force算法 4.3.2 KMP匹配算法 4.4 串的应用 本章小结 4.1.1 串的逻辑结构 1 串的定义 串是由零个或多个任意字符组成的字符序列。一般记作: s s0 s1 … sn“ 2 四个要素 串名,串值,位置,长度 例如,有下列四个串a,b,c,d: a Welcome to Beijing b Welcome c Bei d “ “ e “” 3 几个术语 子串:串中任意多个连续的字符组成的子序列称为子串。 (思考:以上哪些串是a的子串) 主串 子串的位置:首字符在该串中的位置。 串相等:长度相等,并且对应位置上的字符都相等。 空格串:注意和空串的区别。 4.1.2 串的基本运算(1) StrAssign s, chars 初始条件:chars是字符串常量。 操作结果: ,将chars的值赋给变量s。 Equal(s,t) 初始条件:串s,t存在。 操作结果:判断串s和t是否相等,如果是则返回1,否则返回0。 Length s 初始条件:串S存在。 操作结果:返回S的元素个数,称为串的长度。 Concat s,t 初始条件:串s和t存在。 操作结果:将t串的置于s串之后,联接成一个新的字符串。 SubStr s,pos,len 初始条件:串s存在,1≤pos≤StrLength S 且0≤len≤StrLength S -pos+1。 操作结果:求串s中从pos个字符起长度为len的子串。 4.1.2 串的基本运算(2) Empty S 初始条件:串s存在。 操作结果:若s为空串,则返回1 TRUE ,否则返回0 FALSE 。 Insert s, pos,t 初始条件:串s和T存在,1≤pos≤Length s +1。 操作结果:在串s的第pos个字符之前插入串t。 Delete s, pos, len 初始条件:串S存在,1≤pos≤Length s 且 0≤len≤Length s -pos+1。 操作结果:从串S中删除第pos个字符起长度为len的子串。 Replace s,pos,len,t 初始条件:串s,t,t是非空串, 1≤pos≤Length s 且 0≤len≤Length s -pos+1。 操作结果:用串t替换串s中从pos个字符起长度为len的子串。 Index s,t 初始条件:串s和t存在,t是非空串,。 操作结果:若主串s中存在和串t值相同的子串,则返回它在主串 S中第一次出现的位置; 否则返回0。 课堂练习: 1 求串长Length s 设串s1 abc123,s2 bhjkl433,则有: Length s1 ,Length s2 2 串赋值Assign s,t 设串s1 abc123,s2 bhjkl433,则有: 执行Assign s1,s2 之后 s1= ,s2= 3 求子串SubStr s,pos,len SubStr “abcdefghi”,3,4 ,操作结果: 4 子串定位 Index s,t :找子串t在主串s中首次出现的位置 例如:Index abcdebca,bc Index abcdebda,ba 本章要点 4.1 串及运算 4.1.1 串的逻辑结构 4.1.2 串的基本运算 4.2 串的存储结构 4.2.1 串的顺序存储结构及基本运算 4.2.2 串的链式存储结构及基本运算 4.2.3 串的堆分配存储结构及基本运算 4.3 串的模式匹配 4.3.1 Brute-Force算法 4.3.2 KMP匹配算法 4.4 串的应用 本章小结 存储表示 #define ManLen 100 //定义能处理的最大的串长是100; typedef struct char str[MaxLen]; int curlen; string; 基于串的顺序存储结构的运算实现(1) 1)串联接运算concat s,t string Concat s,t //将串t的第一个字符紧接在串s的最后一个字符之后 string ch; int i; ch.curlen s.curlen+t.curlen; for i 0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档