数据结构之串——概论

串(string)是由零个或多个字符组成的有限序列,又名叫字符串。

一般记为s="a1a2……an"(n>=0),其中,s是串的名称,用双引号括起来的字符序列是串的值,注意引号不属于串的内容。ai(a<=i<=n)可以是字母,数字,或其他字符,i就是该字符在串中的位置。串中的字符数目n称为串的长度,定义中谈到的“有限”是指长度n是一个有限的数值。零个字符的串称为空串(null string),它的长度为零,可以直接用双引号“”表示。所谓的序列,说明串的相邻字符之间具有前驱和后继的关系。

空格串,是只包含空格的串。注意它与空串的区别,空格串是有内容有长度的,而且可以不止一个空格。

子串与主串,串中任意个数的连续字符组成的子序列称为该串的子串,相应地,包含子串的串称为主串。

子串在主串中的位置就是子串的第一个字符在主串中的序号。

串的比较是通过组成串的字符之间的编码来进行的,而字符的编码指的是字符在对应字符集中的序号。

给定俩个串:s=“a1,a2……an”,t=“b1b2……bm”,当满足以下条件之一时,s<t。

1.n<m,且ai=bi(i=1,2,……,n)

2.存在某个k<=min(m,n),使得ai=bi(i=1,2,……,k-1),ak<bk。