第四章 串 数据结构 教学课件.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 串 数据结构 教学课件

第4章 串 学习目的要求: int match(STRING s, STRING s1) /*子串定位运算*/ { int i,j,k; i=0; while(i=s.len-s1.len) /*i为s串中字符的位置*/ { /*该循环执行到s串中剩余长度不够比较时为止*/ j=i; /*j用作临时计数变量*/ k=0; /*用k控制比较的长度小于s1.len*/ while((ks1.len)(s.ch[j]==s1.ch[k])) /*比较过程*/ { j=j+1; k=k+1; } if(k==s1.len) /*比较成功,返回i的位置*/ return(i); else /*比较不成功,从s串中下一个字符继续比较*/ i=i+1; } return(-1); /*比较结束时,未找到匹配字符串,返回标识-1*/ } 4.3 串的基本运算 7. 串置换 串置换就是把母串中的某个子串用另一个子串来替换。 字符串替换算法可以用删除子串的算法和插入子串的算法来实现。 4.3 串的基本运算 4.3 串的基本运算 String replace(STRING s, STRING s1,int i,int j) /*子串定位运算*/ { delete(s, i , j); insert(s,s1,i); } 【算法描述】 * 串的基本概念和串的基本运算。 串的顺序存储结构、串的链式存储结构和串的索引存储结构。 串的顺序存储中的连接、相等判断、取子串、插入、删除和子串查找算法的实现。 4.1 串的基本概念 串是一种特殊的线性表,它的数据对象是字符集合,一系列相连的字符就组成了一个字符串。字符串简称串。 记作: s= a1a2a3 …an (n≥0) 其中S 是串名,双引号括起来的字符序列是串值;ai(1≦i≦n)可以是字母、数字或其它字符; 如:s = good morning! 4.1 串的基本概念 串的长度: 串中字符的数目n。 不含任何字符的串 空串: ①两个串的长度相等 ②各对应位置上的字符都相同。 两串相等: 它的长度n=0,记为s=。 空白串: 将仅由一个或多个空格组成的串称为空白串或空格串(Blank String)。 【注意】空串和空白串的不同,例如 和分别表示长度为1的空白串和长度为0的空串。 s =good morning! 【子串与主串】 串中任意个连续字符组成的子序列称为该串的子串,包含子串的串相应地称为主串。 4.1 串的基本概念 如: A= This is a string B=is ?子串在主串中的序号(位置):子串在主串中首次出现时的该子串的首字符对应的主串中的序号 特别地,①空串是任意串的子串 ②任意串是其自身的子串。 4.2.1 串的顺序存储结构 串采用顺序存储结构,简称为顺序串。 串的顺序存储可用一个字符型数组和一个整型变量来表示,其中字符型数组存放串值,整型变量存放串的长度。 typedef struct string /*定义串顺序存储结构*/ { char ch[MAXLEN]; int len; }STRING; 4.2 串的存储结构 若给定串s = good morning ,则顺序串的存储如图所示。 4.2 串的存储结构 当计算机按字节(byte)单位编址时,一个存储单元刚好存放一个字符,串中相邻的字符顺序地存放在地址相邻的字节中。 当计算机按字(word)单位编址时,一个存储单元由若干个字节组成。这时串的顺序存储结构有非紧缩存储和紧缩存储两种方式。 1. 串的非紧缩存储 4.2 串的存储结构 假设计算机的字长为32位,即4个字节(bytes),则一个存储单元仅存放一个字符时,就要浪费3个字节。若给定串s=good morning″,则非紧缩存储方式如图所示。这种存储方式的优点是对串中的字符处理效率高,但对存储空间的利用率低。 4.2 串的存储结构 2. 串的紧缩存储 根据计算机中的字的长度,尽可能将多个字符存放在一个字中。若给定串s= good morning ,则紧缩存储方式如图所示 4.2.2 串的链式存储结构 串

文档评论(0)

jiupshaieuk12 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档