1.6.4 习 题 4

习 题 4

一、填空题

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

2.串的最基本的两种存储方式为_____和_____。

3.两个字符串相等的充分必要条件是______。

4.对于采用堆分配存储的串S,将其初始化为空串的操作是______。

二、分析题

1.设串a=“very”,b=“good”,c=“I am a student”,求解以下问题。

(1)调用函数Concat(a,b)和Concat(b,a)的结果。

(2)调用函数Concat(a,Concat(b,c))和Concat(Concat(a,b),c)的结果。

(3)调用函数SubString(c,3,1)和SubString(c,1,3)的结果。

(4)调用函数StrInsert(c,5,b)和StrInsert(b,5,c)的结果。

(5)调用函数Index(c,‘am’)和Index(c,‘AM’)的结果。

(6)调用函数Replace(c,‘a’,a)的结果。

2.试写出执行以下函数的输出结果。

img155

3.设S=“bcdefgh”,T=“xyz”,执行以下操作:

img156

之后,串X的值为多少?

三、编程题

1.设计一个算法,实现串的逆置(利用原串的存储空间)。

2.分别采用顺序和链式存储结构,设计算法判断给定字符串是否为回文串。

3.采用顺序存储结构,设计一个算法,求两个字符串的公共子串。