数据结构 第四章串.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 第4章 串 4.1 串类型的定义 串(string)(或字符串)是由零个或多个字符组成的有限序列。 记作 s = ‘a1a2……an’ (n=0) 其中:s:串名,单引号内的字符序列为串值。 ai (1= i = n):为字符(字母、数字、或其它字符) 串长度:串中字符个数n 空串:零个字符的串称为空串,其长度为0 子串:串中任意个连续的字符组成的子序列 主串:相应地包含子串的串 字符在串中的位置:一个字符在序列中的序号 子串在主串中的位置:子串的第一个字符在主串中的位置 设 s1,s2为两个串 s1 = ‘a1a2 ……ai+1…… ai+j …… an’ s2 = ‘b1b2 ……bm’ 其中:ai 和bi代表字符 若0=m=n 且存在整数i(0=i=n-m), 使得bj = ai+j ; j=1,2, ……m 成立, 则称s2是s1的子串,又称串s1包含串s2。 例:s1=‘abcdefg’ , s2=‘cde’ 特别地: 空串是任意串的子串,任意串s都是其s本身的子串 除s本身以外的s的其它子串称为s的真子串 两个串相等,当且仅当两个串的长度相等,并且各对应位置的字符都相等。 串的抽象数据类型定义: ADT String { 数据对象:D={ai | ai∈CharacterSet, i = 1,2 … n n=0 } 数据关系:R1 = { ai-1 , ai | ai-1 , ai∈D } 基本操作: 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 串的抽象数据类型定义: ADT String { 数据对象:D={ai | ai∈CharacterSet, i = 1,2 … n n=0 } 数据关系:R1 = { ai-1 , ai | ai-1 , ai∈D } 基本操作: 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 Index (S , T , pos ) 基本思想:在主串S中取从第i(i的初值为pos)个字符起,长度和串T相等的子串和T比较,若相等,则求得函数值为i,否则i值增1直至串S中不存在和T相等的子串为止。 S T POS i 相等? 相等,返回i 不等,i ++ ; 重复 i 相等? int Index ( String S , String T , int pos ) { if ( pos 0 ) { n = StrLength(S) ; m = StrLength(T) ; i = pos ; while ( i = n – m + 1 ) { SubString ( sub , S , i , m ) ; if ( StrCompare ( sub , T ) != 0 ) ++ i ; else return i ; } } return 0 ; } 4.2 串的表示和实现 一、定长顺序存储表示 #define MAXSTRLEN 255 typedef u

文档评论(0)

整理王 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档