串的相关概念
串(string)是由零个或多个宇符组成的有限序列,又名叫字符串
一般记为s = “a,a2……an” (n>0),其中,s是串的名称,用双引号(有些书中也用单引号)括起来的字符序列是串的值,注意单引号不属于串的内容。ai(1<= i<= n)可以是字母、数字或其他字符,i就是该字符在串中的位置。串中的字符数目n称为串的长度,定义中谈到“有限”是指长度n是一个有限的数值。零个字符的串称为空串(null string),它的长度为零,可以直接用两双引号一表示,也可以用希腊Φ字母来表示。所谓的序列,说明串的相邻字符之间具有前驱和后继的关系。
特殊的串
空格串
是只包含空格的串。注意它与空串的区别,空格串是有内容有长度的,而且可以不止一个空格。
子串
串中任意个数的连续字符组成的子序列称为该串的子串
主串
包含子串的串称为主串。
子串在主串中的位置就是子串的第一个字符在主串中的序号。
串的抽象数据类型
ADT 串 (String)
Data
串中的元素仅由一个字符组成,相邻元素具有前驱和后继关系.
Operation
StrAssign (&T, chars)
初始条件:chars是字符串常量。
操作结果:生成一个其值等于chars的串T。
StrCopy (&T, S)
初始条件:串S存在。
操作结果:由串S复制得串T。
StrEmpty(S)
初始条件:串S存在。
操作结果:若S为空串,则返回TRUE,否则返回FALSE。
StrCompare(S, T)
初始条件:串S和T存在。
操作结果:若S>T,则返回值>0;若S=T,则返回值=0;若S < T,则返回值 < 0。
StrLength(S)
初始条件:串S存在。
操作结果:返回S的元素个数,称为串的长度。
ClearString (&S