串的概念与操作:练习题解析

需积分: 5 0 下载量 6 浏览量 更新于2024-08-03 收藏 45KB DOC 举报
"该文档是关于串的数据结构的练习题,涵盖了填空题和选择题,主要涉及串的定义、存储方式、优缺点、字符串操作以及模式匹配等基本概念。" 1. 串是由零个或多个字符组成的有限序列,是数据结构中的一种特殊类型,用于处理文本数据。 2. 串的存储方式主要包括顺序存储、链接存储和静态数组存储。顺序存储即数组实现,链接存储则是通过链表连接各个字符。 3. 串的顺序存储结构通常简称为串数组,它将所有字符紧凑地存储在一个连续的内存区域。 4. 串顺序存储非紧凑格式的缺点是浪费空间,因为每个字符后可能需要额外的存储来指向下一个字符。 5. 串顺序存储紧凑格式在处理字符时效率较低,因为每次修改都需要移动大量字符。 6. 串链接存储结构的优点是插入和删除操作灵活,不需要移动元素;缺点是需要额外的指针存储,且访问速度较慢。 7. 在C或C++中,通常使用字符'0'作为字符串的结束标记。 8. 空格串的长度等于其包含的空格数量,可以为0。 9. 空串的长度为0,而空格串至少包含一个空格,因此长度不为0的是空格串。 10. 两个串相等意味着它们的长度相同,并且对应位置的字符也相同。 11. 对于S="MyMusic",其长度LenStr(s)等于7。 12. ConcatStr函数用于连接两个字符串,所以S1="Todayis"和S2="1June2010"连接后的结果是"Todayis1June2010"。 13. SubStr函数用于提取子串,SubStr("Todayis1June2010",13,4)的结果是"1Jun",从位置13开始提取4个字符。 14. 子串定位中,被查找的串是目标串,而要寻找的部分是模式串。 15. 模式匹配成功的位置是指模式串在目标串中的起始索引。 16. 在字符串S="abccdcdccbaa"中,模式串T="cdcc"首次匹配成功是在第3次尝试。 17. 在字符串S="c:/software/datastruct.doc"中查找子串"T",其位置是9。 选择题部分: 1. 串的特殊性在于其数据元素是一个字符,选项B正确。 2. 当串长度小于一个常数时,顺序存储方式通常更节省空间,选项B正确。 3. 空串不包含任何字符,而空格串包含一个或多个空格,两者不同,选项A和C错误;空串的长度为0,选项D错误。 4. ""是空串," "是空格串,选项A错误;"BEIJING"是"BEIJING"的子串,选项B正确;字符串比较不区分大小写,所以"something"与"Somethig"相等,选项C错误;"BIT"与"BITE"不相等,选项D错误。 5. 模式匹配是找子串在主串中第一次出现的第一个字符位置,选项D正确。 6. ConcatStr函数连接两个字符串,所以S1="DaWai"和S2="SoftWareschool"的连接结果是"DaWaisoftWareschool",选项C正确。 7. 设S=""为空串,其长度Le为空,选项E正确。 这些练习题涵盖了串的基本概念、操作和应用,对于理解和掌握串的数据结构非常有帮助。