初始条件串S存在.ppt

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

4.1 串的抽象数据类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法 字符串: 简称串,是特殊的线性表,其特殊性主要在于表中的每个元素是一个字符,以及由此而要求的一些特殊操作。 长度:一个串中包括的字符个数。长度为零的串称为空串。 4.1 串的抽象数据类型的定义 子串:字符串s1中任意个连续的字符组成的子序列s2被称为是s1的子串,而称s1是s2的主串。 位置:子串在主串中的位置是以子串的第一个字符在主串中的字符序号(下标+1)。 相等:两个串的长度相等,并且对应位置上的字符都 相等。 串的数据对象约束为字符集。 线性表的基本操作大多以“单个元素”为操作对象,而串的基本操作通常以“串的整体”作为操作对象。 串的逻辑结构和线性表的区别: 串的抽象数据类型的定义如下: ADT String { 数据对象: D={ ai |ai∈CharacterSet, i=1,2,...,n, n≥0 } 数据关系: R1={ ai-1, ai | ai-1, ai ∈D,i=2,...,n } 串是有限长的字符序列,由一对双引号相括,如: ? a string ? 基本操作: …… StrAssign (T, chars) StrCopy (T, S) DestroyString(S) StrEmpty (S) StrCompare (S, T) StrLength(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) ClearString (S) } ADT String StrAssign (T, chars) 初始条件:chars 是字符串常量。 操作结果:把 chars 赋为 T 的值。 StrCopy (T, S) 初始条件:串 S 存在。 操作结果:由串 S 复制得串 T。 DestroyString (S) 初始条件:串 S 存在。 操作结果:串 S 被销毁。 StrEmpty (S) 初始条件:串S存在。 操作结果:若 S 为空串,则返回 true,否则返回 false。 StrCompare (S, T) 初始条件:串 S 和 T 存在。 操作结果:若S ? T,则返回值 ? 0; 若S ? T,则返回值 ? 0; 若S ? T,则返回值 ? 0。 StrLength (S) 初始条件:串 S 存在。 操作结果:返回 S 的元素个数,称为串的长度。 Concat (T, S1, S2) 初始条件:串 S1 和 S2 存在。 操作结果:用 T 返回由 S1 和 S2 联接而成的新串。 例如: Concate( T, ?man?, ?kind?),得 T = ?mankind? SubString (Sub, S, pos, len) 初始条件:串 S 存在,1≤pos≤StrLength(S) 且 0≤len≤StrLength(S)-pos+1。 操作结果: 用 Sub 返回串 S 的第 pos 个字符起长度为 len 的子串 。 例如:SubString( sub, ?commander ?, 4, 3) 求得 sub = ?man ? ; Index (S, T, pos) 初始条件:串S和T存在,T是非空串1≤pos≤StrLength(S)。 操作结果: 若主串 S 中存在和串 T 值相同的子串, 则返回它在主串 S 中第pos个字符之后第一次出现的位置;否则函数值为0。 “子串在主串中的位置”意指子串中的第一个字符在主串中的位序。 假设 S = ?abcaabcaaabc ?, T = ?bca ? Index(S, T, 1) = 2; Index(S, T, 3) = 6; Index(S, T, 8) = 0; Replace (S, T, V) 初始条件:串S, T和 V 均已存在,且 T 是非空串。 操作结果:用 V 替换主串 S 中出现的所有与(模式串)T 相等的不重叠的子串。 例如:假设 S = ?abcaabcaaabca?, T = ?bca ?若 V = ?x ?, 则经置换后得到 S = ?axaxaax ? 若 V = ?bc ?, 则经置换后得到 S = ?abcabcaabc? Str

文档评论(0)

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

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

1亿VIP精品文档

相关文档