- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
????数据结构教程?第十四课?串的定义
数据结构教程?第十四课?串的定义
?
教学目的: 掌握串的定义及作用
教学重点: 串的类型定义
教学难点: 串的类型定义
授课内容:
一、串定义
串(或字符串),是由零个或多个字符组成的有限序列。一般记为:
s=a1a2...an(n=0)
其中s是串的名,用单引号括起来的字符序列是串的值;串中字符的数目n称为串的长度。零个字符的串称为空串,它的长度为零。
串中任意个连续的字符组成的子序列称为该串的子串。包含子串的串相应地称为主串。通常称字符在序列中的称为该字符在串中的位置。子串在主串中的位置则以子串的第一个字符在主串中的位置来表示。
例:a=BEI,b=JING,c=BEIJING,d=BEI JING
串长分别为3,4,7,8,且a,b都是c,d的子串。
称两个串是相等的,当且仅当这两个串的值相等。
二、串的抽象数据类型的定义:
ADT String{
数据对象:D={ai|ai(-CharacterSet,i=1,2,...,n,n=0}
数据关系:R1={ai-1,ai|ai-1,ai(-D,i=2,...,n}
基本操作:
StrAssign(T,chars)
chars是字符常量。生成一个其值等于chars的串T。
StrCopy(T,S)
串S存在则由串S复制得串T
StrEmpty(S)
串S存在则若S为空串,返回真否则返回假
StrCompare(S,T)
串S和T存在,若ST,则返回值大于0,若S=T,则返回值=0,若ST,则返回值0
StrLength(S)
串S存在返回S的元素个数称为串的长度.
ClearString(S)
串S存在将S清为空串
Concat(T,S1,S2)
串S1和S2存在用T返回由S1和S2联接而成的新串
SubString(Sub,S,pos,len)
串S存在,1=pos=StrLength(S)且0=len=StrLength(S)-pos+1
Index(S,T,pos)
串S和T存在,T是非空,1=pos=StrLength(S),若主串S中存在和串T值相同的子串,则返回它在主串S中第pos个字符之后第一次出现的位置,否则函数值为0
Replace(S,T,V)
串S,T和V存在,T是非空串,用V替换主串S中出现的所有与T相等的不重叠的子串
StrInsert(S,pos,T)
串S和T存在,1=pos=StrLength(S)+1,在串S的第pos个字符之前插入串T
StrDelete(S,pos,len)
串S存在,1=pos=StrLength(S)-len+1从串中删除第pos个字符起长度为len的子串
DestroyString(S)
串S存在,则串S被销毁
}ADT String
三、串操作应用举例:
1文字处理中常用的:串的查找(比较,定位)与替换
在TC集成环境中可用^QF快速查找变量 在WORD中可用搜索与替换批量改变文本
2串的截断与连接
可用求子串及串连接的方法进行文字处理
四、总结
找出几个自己亲自做过的串操作例子。
文档评论(0)