定义
由零个或多个字符组成的有限序列,又叫字符串
- 区别空格串和空串
- 子串和主串
- 子串在主串中的位置就是子串第一个字符在主串中的序号
抽象数据类型
ADT 串(string)
Data
串中元素仅由一个字符组成,相邻元素具有前驱和后继关系
Operation
StrAssign(T, *chars):
StrCopy(T, S):串S存在,由串S复制得串T
ClearString(S):清空串
StringEmpty(S):
StrLength(S):
StrCompare(S, T):
Concat(T, S1, S2):
SubString(Sub, S, pos, len):
Index(S, T, pos):
Replace(S, T, V):
StrInsert(S, pos, T):
StrDelete(S, pos, len):
endADT
/*T为非空串,若主串第pos个字符之后存在与T相等的子串,
则返回第一个这样的子串在S中的位置,否则返回0*/
int Index(String S, String T, int pos)
{
int n,m,i;
String sub; /*遍历时,存储可能的子串的变量*/
if(pos > 0)
{
n = StrLength(S); /*获得主串S的长度*/
m = StrLength(T); /*获得子串T的长度*/
i = pos;
while(i <= n-m+1)
{
SubString(sub,S,i,m); /*取子串函数*/
if(StrCompare(sub,T) != 0)
i++;
else
return i;
}
}
return 0;/*若无子串与T相等,返回0*/
}
顺序存储结构