串的基本概念
例如,A=‘China Beijing’,B=‘Beijing’,C=‘China’,它们的长度分别是13,7,5。B,C都是A的子串,B在A中的位置是7,C在A的位置是1。
题 1. 串中任意个字符组成的子序列称为该串的子串()
答案:错误
子串:串中任意个连续的字符组成的子序列
题 2. 从数据结构来看,串是一种特殊的线性表,其特殊性体现在 ()。
A.可以顺序存储
C.可以链式存储
B.数据元素可以是一个字符
D.数据元素可以是多个字符
答案:B
串的基本操作
DStrCopy(&T,S):复制操作。由串S复制得到T。
StrEmpty(S):判空操作。
StrCompare(T,S):比较操作。
StrLength(S):求串长
SubString(&Sub,S,pos,len):求子串。用Sub返回S 的第pos 个字符起长度为len的子串
Concat(&T,S1,S2):联接。用T返回由S1和S2联接而成的新串。
Index(S.T):定位操作。若主S 中存在与串T值相同的子串,则返回它在主串S中第次出现的位置;否则返回函数值为0。
题 3. 字符串t ='child,s = ‘cake’,请写出下列函数的结果: StrLength(t)=________;
Concat(&T,SubString(&l1,s,3,1),SubString(&l2 ,t, 2,2))=
答案:5,"khi’
串的简单模式匹配算法
子串的定位操作通常称为串的模式匹配,它求的是子串在主串中的位置。
题 1.设有两个串p和q,求g在p中首次出现的位置的运算称作 ()。
A.连接
B.模式匹配
C.求串长
D.求子串
答案:B
55.(填空题)设A、B、C,D都是串名,A=‘student’,B=‘tea’,C=‘fang’。则求联接操作CONCAT(&D,SUB(A,3,3),SUB(C,3,2) )结果为______
答案:‘udeng’
sub(A,3,3)为’ude’
sub(C,3,2)为’ng’
最终结果为’udeng’