串(string)是由零个或多个字符组成的有限序列,又名叫字符串。一般记为 s="a1a2a3........an"(n>=0),其中s是串的名称,用双引号括起来的字符系列是串的值。ai(1<=i<=n)可以是字母,数字或其他符号,i就是该字符在串中的位置。串中的字符数目n称为串的长度。所谓,系列是指串的相邻字符之间具有前驱和后继的关系。
串的大小比较:
s="a1a2.........an" t="b1b2.......bn"
1.当且仅当n=m,且a1=b1,a2=b2,........an=bn时,s=t。
2.n<m.且ai=bi(i=1,2,........n). 例如 s="hap" t="happy" 此时s<t.
3.存在某个k<=min(m,n),使得ai=bi(i=1,2......k-1),ak<bk. 例如 s="happen" t="happy" 此时s<t.
串的顺序存储结构
用一组地址连续的存储单元来存储串中的字符系列。按照预定义的大小,为每个预定义的串变量分配一个固定长度的存储区。一般用定长数组来定义。串后面加一个不计入长度的结束标记字符,比如"\0"表示串值得终结。
重点KMP模糊匹配算法。