串(习题)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第五章串

一、名词解释

(1)字符串

(2)空白串

(3)空串

(4)顺序串

(5)链式串

(6)模式匹配

二、判断题(下列各题,正确的请在前面的括号内打“√”;错误的打“╳”)

()(1)串的长度是指串中不同字符的个数。

()(2)串是N个字母的有限序列。

()(3)空串不等于空白串。

()(4)如果两个串含相同的字符,则说明它们相等。

()(5)如果一个串中相同的字符均在另一个串中出现,则说明前者是后者的子串。

()(6)串的堆分配存储是一种动态存储结构。

三.填空题

1、设两个字符串分别为:

2、通常在程序中使用的字符串可分为串常量和串变量;而字符串按存储方式又可分为

、和等几种。

3、串和顺序存储格式,一个存储单元只存放字符串中的一个字符,其缺点是

4、串的接存储紧凑格式优点是,缺点是。

5、串连接存储优点是,缺点是。

6、两个串相等的成分必要条件是。

7、设S=”A:/Document/Mary.Doc”,则LenStr(s)= ,”/”的分微定位的位置为。

8、子串的定位运算成为串的模式匹配:成为目标串,称为模式。

9、称为有效位移,称为无效位移。

10、设目标T=”abccdcdccbaa”,模式p=”cdcc”,则第次匹配成功。

四.选择题

1.串是一种特殊的线性表,其特殊体现在()。

A.可以顺序存储B、数据元素是以个字符

C、可以链接存储

D、数据元素可以是多个字符

2.设有两个串p和q,求q在p中首次出现的位置的运算称作()

A.链接B、模式匹配C、求子串D、求串长

3.设两个字符串的串值分别为s1=”ABCDEFG”,S2=”PQRST”,则ConcatStr(SubStr(s1,2,LenStr(s2)),SubStr(s1,LenStr(s2),2))的结果串()

A、BCDEF

B、BCDEFG

C、BDPQRST

D、BCDEFEF

4、串是()

A、不少于一个字母的序列

B、任意个字符的序列

C、不少与一个字符的序列

D、有限个字符的序列

5、设有两个串s1和s2,求s2在s1中首次出现的位置的运算是()

A、串链接

B、求子串

C、模式匹配

D、串比较

6、以下李、论断正确的是()

A、” ”是空串,””是空格串

B、”beijing”是”bei jing”的子串

C、”something”<” Something”

D、”BIT”==”BITE”

7、若字符串”ABCDEFG”采用链式存储,假设每个字符占用1个字节,每个指针占用2个字节。

则该字符串的存储密度为()

A、20%

B、40%

C、50%

D、33.3%

8.上题若需提高存储密度至50%,则每个结点应存储()个字符(假设字符串的结束标志也占用1个字节)

A、2

B、3

C、4

D、5

9、某串的长度小于一个常数,则采用()存储方式最节省空间。

A、链式

B、顺序

C、堆结构

D、无法确定

10、在实际应用中,要输入多个字符串,且长度无法预定,则应该采用()存储方式比较合

适。

A、链式

B、顺序

C、堆结构

D、无法确定

五.编程题

1.设下面所用的串均采用顺序存储方式,其存储结构定义如下,请编写下列算法:

# define MAXLEN 100

typedef struct

{ char vec[MAXLEN];

int len;

}str;

(1)将串r中所有值为ch1的字符换成ch2的字符。

(2)将串r中所有字符按照襄樊的次序存放在r 中。

(3)从串r中删除其值等于ch的所有字符。

(4)从串r1中第index 个字符起求出首次与字符r2相同的子串的起始位置。

(5)从串r中删除所有与串r3相同的子串(允许调用第4小题的函数)。

(6)编写一个比较x和y两个串是否相等的函数。

2.设计一个算法,判断字符串是否为回文(即正读和倒读相同)。

3.设计一个算法,从字符串中删除所有与字符串”del”相同的子串。

4.设计一个算法,统计字符串中否定词”not”的个数。

相关文档
最新文档