CS&T Information Course
Beyond Technology
东软信息学院
数据结构
CS&T Information Course
9.1 串
一、定义及相关术语
•串/String
是由零个或多个字符组成的有限序列。一般
记为:s ‘a a ……a ’ (n≥0),a (1≤i≥n)可以是字
1 2 n i
母、数字或其它字符。
•串的长度
串中字符的数目称为串的长度。零个字符的
串称为空串,记为“∅” ,其长度为零。
CS&T Information Course
• 子串
串中任意个连续的字符组成的子序列称为该
串的子串,包含子串的串相应地称为主串。
• 字符在串中的位置
字符在序列中的序号称为该字符在串中的位
置。子串在主串中的位置以第一个字符在主串中
的位置来表示。例:
a ‘BEI’ b ‘JING’ c ‘BEIJING’ d ‘BEI JING’
CS&T Information Course
• 串相等
两个串相等,当且仅当这两个串的值相等。
即,只有当两个串的长度相等,并且各个对应位
置的字符都相等时才相等。
• 空格串
由一个或多个空格组成的串‘ ’称为空格串,
其长度为串中空格字符的个数。
注意:串值必须用一对单引号括起来,但单引
号‘ ’不属于串
CS&T Information Course
二、字符串的操作
串的基本操作中,通常以串的整体作为操作对象。
1.StrCopy(&T,S)
初始条件:串S存在.
操作结果:由串S复制到串T.
2.StrCompare(S,T)
初始条件:串S和T存在.
操作结果:若S>T,则返回>0;若S=T,则返回值=0;
若S<T,则返回值<0.
3.StrLength(S)
初始条件:串S存在.
操作结果:返回S的元素个数,称为串的长度.
CS&T Information Course
4.Concat(&T,S1,S2)
初始条件:串S1和S2存在.
操作结果:用T返回由S1和S2联接而成的新串.
5.SubString (&Sub,S,i,len)
初始条件:串S存在,1<=i<=StrLength(S),且
0<=len<=StrLength(S)-i+1.
操作结果:用Sub返回串S的第i个字符长度为len的子串.
6.Index(S,T)
初始条件:串S和T存在,T是非空串,
操作结果:若主串S中存在和串T值相同的子串,则返回它在子
串T在S中第一次出现的位置;否则函数值为0.
CS&T Information Course
7.Replace(&S,T,V)
初始条件:串S,T和V存在,T是非空串.
操作结果:用V替换主串S中出现的所有与T相等的不重叠的串.
8.ClearString(&S)
初始条件:串S存在.
操作结果:将S清为空串.
9.DestroyString(&S)
初始条件:串S存在.
操作结果:串S被销毁.
CS&T Information Course
10.StrInsert(&S,i,T)
初始条件