《数据结构》 第四章
《 数据结构》 第四章
数据结构 第四章串 4.1串类型的定义 4.2串的表示和实现 4.2.1定长顺序存储表示 4.22堆分配存储表示 4.23申的块链存储表示 43串的模式匹配算法
数据结构 tjm 第四章 串 4.1 串类型的定义 4.2 串的表示和实现 4.2.1 定长顺序存储表示 4.2.2 堆分配存储表示 4.2.3 串的块链存储表示 4.3 串的模式匹配算法
数据结构 41串类型的定义 串和基本概念 串( String)是零个或多个字符组成的有限序列。 般记作S=a1a2a3an',其中S是串名,双引号 括起来的字符序列是串值;a(1si≌n)可以是字母 数字或其它字符;串中所包含的字符个数称为该 串的长度。长度为零的串称为空串,它不包含任 何字符。 通常将仅由一个或多个空格组成的串称为空白串。 注意:空串和空白串不同。,例如‘·和“分别 表示长度为的空白串和长度为0的空串
数据结构 tjm 4.1 串类型的定义 一、串和基本概念 串(String)是零个或多个字符组成的有限序列。一 般记作S=‘a1a2a3…an ’,其中S 是串名,双引号 括起来的字符序列是串值;ai(1≦i≦n)可以是字母、 数字或其它字符;串中所包含的字符个数称为该 串的长度。长度为零的串称为空串,它不包含任 何字符。 通常将仅由一个或多个空格组成的串称为空白串。 注意:空串和空白串不同,例如‘ ’和‘’分别 表示长度为1的空白串和长度为0的空串
数据结构 子串串中任意个连续字符组成的子序列 主串包含子串的串 子串在主串中的序号(或位置):子串在主串中首次 出现时的该子串的首字符对应的主串中的序号 例设A= This is a string"B="is 则B是A的子串,A为主串B在A中的序号(或位置) 为3 特别地,空串是任意串的子串,任意串是其自身的 子串。 串的抽象数据定义 串的抽象数据类型定义见书P71
数据结构 tjm 子串:串中任意个连续字符组成的子序列 主串:包含子串的串 子串在主串中的序号(或位置):子串在主串中首次 出现时的该子串的首字符对应的主串中的序号 例:设 A=“This is a string” B=“is” 则B是A的子串,A为主串,B在A中的序号(或位置) 为3 特别地,空串是任意串的子串,任意串是其自身的 子串。 二、串的抽象数据定义 串的抽象数据类型定义见书P71
数据结构 、串的基本操作 几种在C语言中常用的串运算 (1)求串长( ength): int strlen(char *s)i (2)串复制(copy) char *strcpy (char *to, char *from)i (3联接( concatenation): char strcat(char *to, char *from) (4)串比较( compare) int strcmp(char *s1, char *s2); (5)符定位( index) char strchr(char *s, char c)
数据结构 tjm 三、串的基本操作 几种在C语言中常用的串运算: (1)求串长(length): int strlen(char *s); (2)串复制(copy): char *strcpy(char *to,char *from); (3)联接(concatenation): char strcat(char *to,char *from) (4)串比较(compare) int strcmp(char *s1,char *s2); (5)字符定位(index) char strchr(char *s,char c);