答是要 5.1及其操作 的定义 申的基本操作 5.2的表示和实现 °顺序存信表示 中的块链存储表示 5.3的模式匹配算法 求子中位置的定位函数 模式匹配的一种改进算法 5.4操作应用举例 °文本编瓣 °建立词索引表
内容提要 5.1 串及其操作 • 串的定义 • 串的基本操作 5.2 串的表示和实现 • 顺序存储表示 • 串的块链存储表示 5.3 串的模式匹配算法 • 求子串位置的定位函数 • 模式匹配的一种改进算法 5.4串操作应用举例 • 文本编辑 • 建立词索引表
51点现作 1、的逻辑结构定义 中( String(或字符:是军个或多个字符组成的有 限序列。一般记为:s=a1a2.an(20)其中,S是 的名,用单引号括起来的字符序列是的值;a(1≤≤ 1)可以是字母、数字或其他字符;中字符的数目称 为牛的长度。零个字符的称为空生( null string),它 的长度为零。(空与空格的区别) 子:库中在意个连续字符构成的子序列 相等:当且仅当这两个的值相等。也就是说,只 有当两个的长度相等,并且各个对应位置的字符 都相等时才相等 串值必须用一对单引号括起来,但单引号本身不 属于串,它的作用只是为了避免与变量名或数的 常量混淆而已
5.1 串及其操作 1、串的逻辑结构定义 串(String)(或字符串):是由零个或多个字符组成的有 限序列。一般记为:s=‘a1a2…an’ (n0) 其中,s是串 的名,用单引号括起来的字符序列是串的值;ai(1 i n)可以是字母、数字或其他字符;串中字符的数目n称 为串的长度。零个字符的串称为空串(null string),它 的长度为零。(空串与空格串的区别) 子串:串中任意个连续字符构成的子序列 串相等:当且仅当这两个串的值相等。也就是说,只 有当两个串的长度相等,并且各个对应位置的字符串 都相等时才相等。 串值必须用一对单引号括起来,但单引号本身不 属于串,它的作用只是为了避免与变量名或数的 常量混淆而已
2.的基本操作 串的基本操作 赋值 复制 比较 求长度 牢连接 子库定位 歌子申 插入 牛删除 牢替换 普通线性表操作的最基本单位是结点, 而字符串操作的基本单位是串或子串
串及其操作(cont’d) 2. 串的基本操作 串的基本操作: 赋值 复制 比较 求长度 串连接 子串定位 取子串 串插入 串删除 串替换 普通线性表操作的最基本单位是结点, 而字符串操作的基本单位是串或子串
52与的表别现 1、字符的存储表示 (1)顺序存储 利用静态数组存放字符串 (2)堆分配存储 利用动态分配的内存存放字符 (3)链式存储 块链结构:#1eN5加决定存储密度 ypedef struct strode tchar sdata N, struct strode *next JSTRNODE, ①合
5.2 串的表示和实现 1、字符串的存储表示 (1)顺序存储 利用静态数组存放字符串 (2)堆分配存储 利用动态分配的内存存放字符串 (3)链式存储 块链结构:#define N 5 //N决定存储密度 typedef struct strnode {char sdata[N]; struct strnode *next; }STRNODE;
的表示别实nt (3)链式存储 块链结构:#1neN5加决定存储密度 typedef struct strode tchar satan; struct strode * next /STRNODE 在D后面插入"OOO"后: ④XEFG一国 ①合
串的表示和实现(cont’d) (3)链式存储 块链结构:#define N 5 //N决定存储密度 typedef struct strnode {char sdata[N]; struct strnode *next; }STRNODE; ABCDE FGH ^ 在D后面插入"OOO"后: ABCDO OOEFG H ^