- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.2.1 定长顺序存储表示 4.2.2 堆分配存储表示 4.3 串的模式匹配算法 讨论基本的串处理操作和两种存储结构 4.1 串类型的定义 非数值处理的对象基本上是字符串数据 串(string)(或称字符串)---- 由零个或多个字符组成的有限序列 记为: s = ‘a1a2...an’ (n=0) ai(1=i=n)是字母,数字或其它字符 n称为串的长度,n=0的串称为空串(Null string) 子串----串中任意个连续字符组成的子序列 包含子串的串叫主串 子串在主串中的位置 ---- 子串的第一个字符在主串中的序号 串的例子 例如:a,b,c,d 四个字符串为 a=‘BEI’ , b=‘JING’ c=‘BEIJING’ , d=‘BEI JING’ 它们的长度分别为 3,4,7,8 a和b都是c和d的子串 a在c和d中的位置都是1 b在c中的位置是4,而b在d中的位置是5 注意:单引号是为字符串区别于变量名而设,它不是字符串的内容 称两个串是相等的 --- 当且仅当这两个串每个字符对应相等 串的抽象数据类型 --- 数据对象为字符集的线性表 ADT String { 数据对象:D = {ai | ai?CharacteSet,i=1,2,...n, n=0} 数据关系: R1= {< ai-1., aj>| ai?D, i=2,...n}。 基本操作: StrAssign(T,chars); StrCopy(T,S); StrEmpty (S); StrCompare(S,T); StrLength(S); ClearString(S); Concat(T,S1,S2); Substring(Sub,S,pos,len); Index(S,T,pos); Replace(S,T,V); StrInsert(S,pos,T); StrDelete(S,pos,len); DestroyString(S) }ADT String 基本操作的功能说明1 StrAssign(T,chars) 初始条件: chars是字符串常量。 操作结果: 生成一个其值等于chars的串T。 StrCopy(T,S) 初始条件: 字符串S已经存在。 操作结果: 由串S复制得串T。 StrEmpty (S) 初始条件: 字符串S已经存在。 操作结果: 若S为空串,则返回TRUE,否则返回FALSE。 StrCompare(S,T) 初始条件: 字符串S和T存在。 操作结果: 若ST,则返回值0;若S=T,则返回值=0;否则返回值0。 基本操作的功能说明2 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=S的长度,0=len=S的长度-pos+1。 操作结果: 用Sub返回串S的第pos个字符起长度为len的子串。 基本操作的功能说明3 Index(S,T,pos) 初始条件: 串S和T存在,T是非空串,1=pos=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=S的长度+1。 操作结果: 在串S的第pos个字符之前插入串T。 StrDelete(S,pos,len) 初始条件: 串S存在,1=pos=S的长度-len+1。 操作结果: 从串S中删除第pos个字符起长度为len的子串。 DestroyString(S): 把存在的串S销毁。 串类型的最小操作子集 上述13种基本操作中,下面5种操作构成最小操作子集: 串赋值 StrAssign; 串比较 StrCompare; 求串长 StrLength; 串联结 Concat; 求子串 Substring; 其它操作可以用其实现 例如定位函数 Index(S
您可能关注的文档
最近下载
- 必威体育精装版2023版知识产权贯标GBT29490 09知识产权维护运用控制程序(含表单)[知识产权合规管理体系文件].docx
- 煤矿合法股权转让协议9篇.docx VIP
- GB_T 9711-2023石油天然气工业 管线输送系统用钢管.doc VIP
- 导体结构设计.xls VIP
- 电梯安全风险管控清单.doc VIP
- 生殖医学中心专业技术人员考核试题及答案.docx VIP
- 2024年度健康体检大数据蓝皮书.pdf
- 部编版语文六年级上册第四单元教案+教学反思(共6篇).pdf VIP
- 球墨铸铁管与其它管材的连接件技术规范.docx VIP
- NB∕T 11273-2023 工业锅炉设计文件鉴定技术导则.pdf
文档评论(0)