第4章毕 41串类型的定义 42串的表示和实现 43串的模式匹配算法
第4章 串 4.1 串类型的定义 4.2 串的表示和实现 4.3 串的模式匹配算法
4.1类型的定义 串是由多个或零个字符组成的有限序列,记作 S=‘c1C2C3 (n>=0) 其中,S是串名字,'c1c2c3…cn2是串值 c是串中字符,n是串的长度,表示串中字符 的数目。 空串:零个字符的串称为空串记作“O” 子串:串中任意个连续的字符组成的子序列 主串:包含子申的串 字符在串中的位置:字符在序列中的序号 子串在串中的位置:子串的第一个字符在主串中的位置
4.1 串类型的定义 串是由多个或零个字符组成的有限序列 ,记作 S = ‘c1c2c3…cn ’ (n>=0) 其中,S是串名字,‘ c1c2c3…cn ’是串值 ci是串中字符,n是串的长度,表示串中字符 的数目。 空串:零个字符的串称为空串 记作 “Ø” 子串:串中任意个连续的字符组成的子序列 主串:包含子串的串 字符在串中的位置:字符在序列中的序号 子串在串中的位置:子串的第一个字符在主串中的位置
串相等:p70 空格串:由一个或多个空格组成的串 串的表示:用一对单引号括起来 串的操作:以“串的整体”为操作对象 0串的抽象数据类型 0基本操作集
串相等:p70 空格串:由一个或多个空格组成的串 串的表示:用一对单引号括起来 串的操作:以“串的整体”为操作对象 串的抽象数据类型 基本操作集
4.2的表示和实现 1定长顺序存储表示 2堆分配存储表示 3串的块链存储表丞 4.串的基本操作
4.2 串的表示和实现 1.定长顺序存储表示 2.堆分配存储表示 3.串的块链存储表示 4.串的基本操作
1.定长版序存猪表 静态分配 每个串预先分配一个固定长度的存储区域。 实际串长可在所分配的固定长度区域内变动 以下标为0的数组分量存放串的实际长度; 在串值后加入”0”表示结束,此时串长为隐含值 用定长数组描述: # define maXstrlen255/最大串长 typedef unsigned char SString [ MAXsTRLen 11 0单元存放串的长度
1.定长顺序存储表示 静态分配 每个串预先分配一个固定长度的存储区域。 实际串长可在所分配的固定长度区域内变动 ▪ 以下标为0的数组分量存放串的实际长度; ▪ 在串值后加入”\0”表示结束,此时串长为隐含值 用定长数组描述: #define MAXSTRLEN 255 //最大串长 typedef unsigned char SString[MAXSTRLEN + 1] //0号单元存放串的长度