Java技术文章数据结构和算法程序员

数据结构(五):串

2018-02-22  本文已影响203人  聪明的奇瑞

串的概念

串的比较

串的抽象数据类型

方法 描述
StrAssign(T,*chars) 生成一个其值等于字符串常量 chars 的串 T
StrCopy(T,S) 串 S 存在,由串 S 复制得串 T
ClearString(S) 串 S 存在,将串清空
StringEmpty(S) 若串 S 为空,返回 true、否则 false
StrLength(S) 返回串 S 元素个数,即长度
StrCompare(S,T) 若 S > T 返回值 > 0,若 S=T 返回 0,若 S < T 返回值 < 0
Concat(T,S1,S2) 用 T 返回由 S1 和 S2 联接而成的新串
Index(S,T,pos) 若 S 和 T 存在,T 是非空串,1 <= pos <= StrLength(S),若主串 S 中存在和串 T 值相同的子串,则返回它在主串 S 中第 pos 哥字符之后第一次出现的位置,否则返回 0
Replace(S,T,V) 串 S、T 和 V 存在,T 是非空串,用 V 替换主串 S 中出现的所有与 T 相等的不重叠的子串
StrDelete(S,pos,len) 串 S 存在,1 <= pos <= StrLength(S) - len + 1,从串 S 中删除第 pos 个字符起长度为 len 的子串
SubString(Sub,S,pos,len) 串 s 存在,1 <= pos <= StrLength(S),且 0 <= len <= StrLength(S) - pos +1 用 Sub 返回串 S 的第 pos 个字符起长度为 len 的子串

串的存储

顺序存储

链式存储

y4ABu.png

朴素的模式匹配算法

效率问题

KMP 模式匹配算法

Ptj9X.png PtGOl.png
上一篇 下一篇

猜你喜欢

热点阅读