数据结构第4章串.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构 第四章 串 1、 串的概念; 2、 串的存储结构; 3、 串的运算。 教学内容 x 的值为整数 123。 x 的值为字符串 123。 串的值 串的长度 串的名 4.1 串类型的定义 串(也称字符串):是由 0 个或多个字符组成的有限序列。 通常记为:s =“ a1 a2 a3 … ai …an ” ( n≥0 )。 字母、数字或其他字符 必须有! 不属于串! 作用:避免与变量名或数的常量混淆。 例:x = “123” x = 123 test =“test” 基本概念 空串:不含任何字符的串,串长度 = 0,用符号 ? 表示。 空格串:仅由一个或多个空格组成的串。 子串:由串中任意个连续的字符组成的子序列。 例:S=“JINAN” S1=“”、S2=“NA”、S=“JINAN” 主串:包含子串的串。 位置:字符在序列中的序号。 子串在主串中的位置是子串的首字符在主串中的位置。 —— 子串。 S4=“JAN” —— 非子串(非串 S 中的连续字符所组成)。 在 S 中的位置:3 在 S 中的位置:1 串相等的条件:当两个串的长度相等且各个对应位置的字符都 相等时才相等。 例:S=“JINAN” S1=“JI NAN” S S1 ? 空串是任意串的子串,任意串是其自身的子串。 串的逻辑结构:和线性表极为相似。 串的基本操作:和线性表有很大差别。 区别:串的数据对象约定是字符集。 在线性表的基本操作中,大多以“单个元素” 作为操作对象; 在串的基本操作中,通常以“串的整体”作为 操作对象。例如:在串中查找某个子串、求 取一个子串、在串的某个位置上插入一个子 串以及删除一个子串等。 串的抽象数据类型的定义 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。 DestroyString (S) 初始条件:串 S 存在。 操作结果:串 S 被销毁。 StrEmpty (S) 初始条件:串 S 存在。 操作结果:若 S 为空串,则返回 TRUE,否则返回 FALSE。 StrCompare (S, T) 初始条件:串 S 和 T 存在。 操作结果:若 S T,则返回值 0; 若 S = T,则返回值 = 0; 若 S T,则返回值 0。 “串值大小” 是按 “词典次序” 进行比较的,如: StrCompare(“data”, “stru”)0 StrCompare(“cat”, “case”)0 StrLength (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。 操作结果:用 Sub 返回串 S 的第 pos 个字符起长度 为 len 的子串。 Index (S, T, pos) 初始条件:串 S 和 T 存在,T 是非空串, 1≤pos≤StrLength(S)。 操作结果:若主串 S 中存在和串 T 值相同的子串,则返回 它在主串 S 中第 pos 个字符之后第一次出现的

文档评论(0)

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

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

1亿VIP精品文档

相关文档