- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四串
计算机科学与工程学院《数据结构》课程组 串的概念 串的存储结构 串基本操作的实现 串的应用举例---文本编辑 第四章 串 * 对象 串的数据对象约束为字符集。 操作 在线性表的基本操作中,大多以“单个元素”作为操作对象。 在串的基本操作中,通常以“串的整体”作为操作对象。 串与线性表的区别 串是一组由字符组成的有限序列,一般记为 S=c0 c2 ...cn-1 (n≥0) 串的定义 * 串的值 用成对的单引号括起来的字符序列是串的值 成对的单引号本身仅是串值的标记,不包含在串值中。C语言中,s1='a'与s2=〃a〃两者是不同的,s1表示字符,而s2表示字符串 串的长度 串中字符的数目n称为串的长度。零个字符的串为空串,它的长度为零. s1=‘I have a dog’; s2=‘Have’;s3=‘dog’ 它们的长度分别为12、4、3 串的概念 * 子串和主串 串中任意个连续的字符组成的序列称为该串的子串。包含子串的串相应地称为主串 例如: s1=’I have a dog’;s2=’have’;s3=’dog’ 串s3是s1的子串 s1是s3的主串 串s2不是s1的子串 串的概念 * 串的位置 字符在序列中的序号为该字符在串中的位置。子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。特别地,空串是任意串的子串,任意串是其自身的子串 例如: s1=’I have a dog’; s3=’dog’ 则:子串s3在s1中的位置为9 串的概念 * 两个串相等 当两个串的长度相等,并且各个对应位置的字符都相等时才相等。 例如: s1=’I have a dog’; s2=’have’; s3=’dog’ ;s4=’dog’ 则:串s1,s2,s3都是互不相等,但s3与s4相等 串的概念 * 空格串 由一个或多个空格组成的串称为空格串 注意:此处不是空串,它的长度不为0 如‘ ’是空格串,长度为2 空串 不含任何字符的串,它的长度为0,为了清楚起见,以后我们用符号来表示空串 串的概念 * 假设本节中的s,t,v,a,b,c和d都是串名, 并且a,b,c和d的值分别为‘BEI’、‘JING’、‘’和‘BEIJING’. 赋值操作 Assign(s,t)和Create(s,ss) 其中t为串名,ss为字符序列 Create(s,ss)的操作结果为设定了一个串s,其值为字符序列ss; Assign(s,t)的操作结果是将t的值赋给s 例如, 执行Assign(s,d)的操作之后, s的值为BEIJING 串的基本操作定义 * 判等函数 Equal(s,t) 若s和t相等, 则返回函数值(即运算结果)1, 否则返回函数值 0。s和t可以是非空串,也可以是空串。 例如, 执行Equal (a,b) 后, 值为0。 执行Equal (‘abc’,‘abc’) 后, 值为1。 串的基本操作定义 * 求串长函数 Len(s) 返回函数值为串s中字符的个数,若s是一个空串,则其函数值为 0。 例如: Len(a)=3 Len(c)=0 串的基本操作定义 * 联接函数 Concat(s,t) 串s和串t的联接是把t的字符序列紧接在s的字符序列之后构成一个新的字符序列,从而产生一个新的串,作为函数值返回。 例如,如果s=‘hand,t=work,则Concat(s,t)的返回值为新串 handwork。 串的基本操作定义 * 求子串函数 SubStr(s,start,len) 若 1≤start≤length(s)+1 且 0≤len≤length(s)-start+1 则返回函数值为从串s中第start个字符起,长度为len连续的字符序列;否则返回一个特殊的串常量。 例如, SubStr(d,1,3)返回新串 BEI,SubStr(d,4,0)返回空串 。 串的基本操作定义 * 定位函数:Index(s,t) 若在主串s中存在和t相等的子串,则函数值为s中第一个这样的子串有主串s中的位置,否则函数值为零。 注意:在此t不能是空串。 例如,Index(d,b)返回子串位置 4 Index(d,c)返回函数值 0。 串的基本操作定义 * 替换操作 Replace(s,t,v) 操作结果是以串v替换所有在串s中出现的和非空串t相等的不重叠的子串。 例如 设s=bbabbabba,t=ab,v=c, 则Replace(s,t,v)的操作结果为s=bbcbcba。 串的基本操作定义 * 插入操作 Insert(s,pos,t) 当0≤pos≤length(s)时, 在串s的第pos个字符之前插入串t。 例如, 设s=‘abc’,t=‘123’, 则
您可能关注的文档
最近下载
- T_CSGPC 019-2024 城镇地理信息系统技术规范 燃气管网.docx VIP
- 一种消旋环氧丙烷手性拆分装置.pdf VIP
- 中医肥胖管理课件图片.pptx VIP
- 3.1 卫星运行时间 同步分层作业-2024-2025学年数学四年级上册(学生版)(北师大版).pdf VIP
- [中央]2025年中国电子口岸数据中心招聘笔试历年参考题库附带答案详解.pdf
- 预包装食品标签合规性评审指南.pdf VIP
- (全)mike flood 城市内涝培训教程.pdf VIP
- 18R417-2_装配式管道支吊架_含抗震支吊架国家标准图集.pdf VIP
- 2025年高考物理大一轮复习全套复习讲义(完整版).pdf
- 四手联弹演奏技巧初探.doc VIP
文档评论(0)