第4章串复习题解答.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章学习要点 第四章串储备与根本操作的实现 |精. |品. |可. |编. |辑. |学. |习. |资. |料. * | * | * | * | |欢. |迎. |下. |载. ◆熟识串的相关概念以与串与线性表的关系 ◆重点把握串的定长储备、堆安排储备的表示方法与根本操作的实现 ◆明白串的各种储备结构,能依据需要合理选用串的储备结构解决实际问题 “串〞 (string) ,是字符串的简称,它是一种特别的线性表,其特别性在于组成线性表的数据元素是单个字符;字符串在运算机处理实际问题中使用特别广泛,比如人名、地名、 商品名、设备名等均为字符串;同样在文字编辑、自然语言懂得和翻译、源程序的编辑和修 改等方面,都离不开对字符串的处理; 串的定义 串(string) 是由 n 个字符组成的有限序列,记为: S=〞a0a1a2?an-1 〞 (n ≥ 0) ; 其中, S 是串的名字,字符序列 a0a1a2?an-1 是串的值, ai (0 ≤ i ≤ n-1) 可以是字母、数字或其他字符元素;由于在 C 语言系统中数组元素的下标是从 0 开头的,所以串中所含元素的序号等于该元素的下标值加 1;串中所含字符的个数 n 称为该串的长度, 长度为 0 的字符串称为空串 〔null string 〕; 从串的定义可以看出,串实际上是数据元素为字符的特别的线性表;例如: 〔 1〕A=“X123〞 ( 长度为 4 的串 ) 〔 3〕C=“Bei Jing 〞 ( 长度为 8 的串 ) 〔 4〕D=“〞 ( 长度为 0 的空串 ) 〔 5〕E=“This is a string 〞 ( 长度为 16 的串 ) 〔 6〕F=“ is a 〞 ( 长度为 6 的串 ) 子串、主串和位置 串中任意连续的字符组成的子序列称为该串的子串;相应地,包含子串的串称为主串;串中的字符在串序列中的序号称为该字符在该串中的位置;子串的第一个字符在主串中的位 置称为子串在主串中的位置;明显,串为其自身的子串,并规定空串为任何串的子串;明显, 在不考虑空子串的情形下,一个长度为 n 的字符串具有 n(n+1)/2 个子串; 例如: 在上例的 (6) 中串 F 就是 (5) 中串 E 的子串, 且子串 F 在主串 E 中的位置是 5;由于空格符也是一个字符,所以在串 G=“abc defghne 〞中包含有子串“ c def 〞 , 而串 “cdef 〞不是串G的子串;串 G中第一个字符‘ e’的位置是 6,其次个字符‘ e’的位置是 11; 串的比拟 假如两个串的长度相等且对应位置上的字符一样,如此称这两个串相等;两个串 A、B 的比拟过程是:从前往后逐个比拟对应位置上的字符的 ASCII 码值,直到不相等或有一个字符 串完毕为止,此时的情形有以下几种: |精. |品. |可. |编. |辑. |学. |习. |资. |料. * | * | * | * | |欢. |迎. |下. |载. 〔1〕两个串同时完毕,表示 A 等于 B; 〔2〕A 中字符的 ASCII 码值大于 B 中相应位置上字符的 ASCII 码值或 B 串完毕,表示 A 大于 B; 〔3〕B 中字符的 ASCII 码值大于 A 中相应位置上字符的 ASCII 码值或 A 串完毕,表示 A 小于 B; 例如: “abc〞=“abc〞,“ abc〞“abcd〞,“ abxy〞“abcdefg 〞,“ 132〞“123456〞, “ABab〞“abAB〞,“ 3+2〞“2+3〞; 空格串 由一个或多个空格字符组成的串称为空格串,空格串的长度为串中所含空格字符的个数;在串操作中不要将空格串和空串混淆; 尽管串的定义和线性表极为相像,但是串的根本操作和线性表有很大差异;在线性表的根本操作中,大多以单个元素作为操作对象,比如对线性表的查找、拜访、插入、删除和排序等;而在串的根本操作中,通常以串整体或串的一局部〔子串〕作为操作对象,比如子串的查找、截取子串、删除一个子串、插入子串和子串替换等操作; 串的根本操作主要有: 〔1〕初始化串 StrAssign(T,chars) 由字符串常量 chars 生成字符串 T 的操作; 〔2〕串复制 StrCopy(T,S) 由串 S 复制生成串 T 的操作; 〔3〕串比拟 Strpare(S,T) 假如 S=T 返回 0, ST 返回正数, ST 返回负数; 〔4〕求串长度 StrLength(S) 返回串 S 的长度; 〔5〕串连接 Concat(T,S1,S2) 将串 S1 和 S2 连接起来生成串 T 的操作; 〔6〕求子串 SubString(Sub,S,pos,len) 以串 S 中 pos 位置开头的 len 个字符生成子串 Sub 的操作; 〔7〕串查

文档评论(0)

资料杂货铺 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档