算法与数据结构1800题 之字符串(二)

发布于 2022年 05月 04日 12:50

返回模式串T在主串S的第pos个字符后第一次匹配时候的位置,如果没有匹配,返回0

模式匹配,模式串

数据元素都为字符,顺序存储和链式存储,长度相等且对应位置的字符相等

串都是从1开始
t = concat(subString(s,1,3),subString(s,7,1)) ;

ASCII字符 数字,从48开始,大写字母,从65开始,小写字母,从97开始
(s[i] >= 97 ? (s[i] - 'a' + 10) : (s[i] - 48))
f(s)

String ADT
StrAssign(&T,chars);
生成一个其值等于chars的串T

StrCopy(&T,S);
由串T复制得到串T
StrEmpty(S);
如果S为空串,返回TRUE,否则返回false

StrCompare(S,T);
如果S>T,返回>0,如果S=T,返回0,如果S<T,返回<0

StrLength(S);
返回S的元素个数,称为串的长度

ClearString(&S)
将S变为空串
Concat(&T,S1,S2);
将S1和S2连接成一个字符串,由T返回这个字符串
SubString(&Sub,S,pos,len);
用&Sub返回S中,从pos字符开始的长度为len的字符串
pos从1开始
Index(S,T,pos)
如果主串S中存在和串T值相同的子串,则返回他在主串S中第pos个字符之后第一次出现的位置,否则函数值为0,而不是-1
Replace(&S,T,V);
用V替换主串S中出现的所有与T相等的不重叠的子串
StrInsert(&S,pos,T);
在串S的第pos个字符之前传入串T,pos从1开始
StrDelete(&S,pos,len);
从串S中删除从pos开始的len个字符
DestoryString(&S)
串S被销毁

推荐文章