a 第5章串和数组 2( 计算机教研宦 第1页 2021/2/19
Data Structure 数据结构— 第5章串和数组 胡建华 2021/2/19 计算机教研室 第 1 页 第 5 章 串和数组
@51串的定义 串:由0或多个字符组成的序列 “a1a2a3…,an” 串的长度n 空串和空格串 子串及子串的位置 两个串相等 计算机教研宦 第2页 2021/2/19
Data Structure 数据结构— 第5章串和数组 胡建华 2021/2/19 计算机教研室 第 2 页 5.1 串的定义 • 串:由0或多个字符组成的序列 s=“a 1 a 2 a 3…a n ” • 串的长度 n • 空串和空格串 • 子串及子串的位置 • 两个串相等
@2串的抽象数据类型定义 ADT String t 数据对象:D={aa1∈ chari=1,2,…,n,n20} 编数据关系R={<a1;a>a1,a1∈D,=1,2,,n,n≥0} 基本操作 参见后面介绍 计算机教研宦 第3页 2021/2/19
Data Structure 数 据 结 构 — 第 5 章 串 和 数 组 胡建华 2021/2/19 计算机教研室 第3页 2.串的抽象数据类型定义 ADT String { 数据对象:D={ai |ai∈char,i=1,2,…,n,n≥0} 数据关系:R={<ai-1 ,ai>|ai-1 ,ai ∈D,i=1,2,…,n,n≥0} 基本操作: 参见后面介绍 }
@串的基本操作(1) s StrAssign(&T, chars) 初始条件: chars是字符串常量。 操作结果生成一个其值等于 chars的串T R StrCopy(&T,s) 初始条件:字符串S已经存在。 操作结果:由串S复制得串T s StrEmpty(s) 意初始条件:字符串S已经存在。 串操作结果:若S为空串,则返回TRUE否则返回 FALSE。 计算机教研宦 第4页 2021/2/19
Data Structure 数 据 结 构 — 第 5 章 串 和 数 组 胡建华 2021/2/19 计算机教研室 第4页 StrAssign(&T,chars) 初始条件: chars是字符串常量。 操作结果: 生成一个其值等于chars的串T。 StrCopy(&T,S) 初始条件: 字符串S已经存在。 操作结果: 由串S复制得串T。 StrEmpty (S) 初始条件: 字符串S已经存在。 操作结果: 若S为空串,则返回TRUE,否则返回FALSE。 串的基本操作(1)
@串的基本操作(2) 9 StrCompare(s,T) 初始条件:字符串S和T存在。 操作结果:若S>T则返回值>0;若S=T则返回值=0否则 返回值<0 StrEngth(s) 初始条件:字符串S已经存在 操作结果:返回串S元素个数,称为串的长度 ClearString(&s) 初始条件:字符串S已经存在 操作结果:将串S清为空串 计算机教研宦 第5页 2021/2/19
Data Structure 数 据 结 构 — 第 5 章 串 和 数 组 胡建华 2021/2/19 计算机教研室 第5页 StrCompare(S,T) 初始条件: 字符串S和T存在。 操作结果: 若S>T,则返回值>0;若S=T,则返回值=0;否则 返回值<0。 StrLength(S) 初始条件:字符串S已经存在。 操作结果:返回串S元素个数,称为串的长度。 ClearString(&S) 初始条件:字符串S已经存在。 操作结果:将串S清为空串。 串的基本操作(2)