
第四章串串类型的定义4.14.2串的表示和实现V
第四章 串 4.1 串类型的定义 4.2 串的表示和实现

学习提要:1.熟悉串的基本操作的定义,并能利用这些基本操作来实现串的其它各种操作的方法2.熟练掌握在串的定长顺序存储结构上实现串的各种操作的方法3.掌握串的堆分配存储结构以及在其上实现串操作的基本方法4.了解串的块链存储结构重难点内容:串的存储结构
学习提要: 1.熟悉串的基本操作的定义,并能利用这些 基本操作来实现串的其它各种操作的方法。 2.熟练掌握在串的定长顺序存储结构上实现串 的各种操作的方法。 3.掌握串的堆分配存储结构以及在其上实现串 操作的基本方法。 4.了解串的块链存储结构。 重难点内容: 串的存储结构

S4.1串类型的定义★基本概念*串(string):由零个或多个字符组成的有限序列,也称字符串。记为:S = ‘ajaza....an' (n≥0)如:A=‘BEIJING’,B=‘JING心串的长度:串中字符的数n
基本概念 ❖串(string):由零个或多个字符组 成的有限序列,也称字符串。记为: S = ‘a1 a2 a3.an ’ (n≥0) 如:A= ‘BEIJING’, B= ‘JING’ ❖串的长度:串中字符的数目n 。 §4.1 串类型的定义

空串:不含任何字符的串,串长度为0X用”或“表示。空格串:仅由一个或多个空格组成的串?长度为串中空格字符的个数如:.C‘BEIJING子串:由串中任意个连续的字符组成的子序列。?主串:包含子串的串B=‘JING如:A=‘BEIJING’
❖空串:不含任何字符的串,串长度为0, 用“ ”或 ‘’表示。 ❖空格串:仅由一个或多个空格组成的串, 长度为串中空格字符的个数。 如: ‘ ’ , C= ‘ BEI JING ’ ❖子串:由串中任意个连续的字符组成的 子序列。 ❖主串:包含子串的串。 如:A= ‘ BEIJING ’ B= ‘ JING ’

字符在串中的位置:字符在序列中的序号子串在主串中的位置:以子串的第一个字符在主串中的位置来表示如:A=‘BEIJING’,B=‘JING'B在A中的位置为4。串相等:当且仅当两个串的值相等。也就是说,只有两个串的长度相等且各个对应位置的字符都相等时才相等
❖字符在串中的位置:字符在序列中的序号。 ❖子串在主串中的位置:以子串的第一个字 符在主串中的位置来表示。 如:A= ‘ BEIJING ’ ,B= ‘JING ’ , B在A中的位置为4。 ❖ 串相等:当且仅当两个串的值相等。也 就是说,只有两个串的长度相等且各个对应 位置的字符都相等时才相等

★串的抽象数据类型定义ADT String 数据对象:D = { a; la;ECharacterSet,i=1,2,...,n, n≥0 J数据关系:Rl ={[ai-1, a; ED,i=2....n)基本操作: ADT String
串的抽象数据类型定义 ADT String { 数据对象: D={ ai |ai∈CharacterSet, i=1,2,.,n, n≥0 } 数据关系: R1={ | ai-1 , ai ∈D, i=2,.,n } 基本操作: } ADT String

StrAssign(&Tchars)//串赋值初始条件:chars是字符串常量操作结果:把chars赋为T的值//串复制StrCopy (&T, S)初始条件:串S存在操作结果:由串S复制得串TDestroyString (&S)初始条件:串S存在操作结果:串S被销毁
StrAssign (&T, chars) //串赋值 初始条件:chars是字符串常量。 操作结果:把 chars 赋为 T 的值。 StrCopy (&T, S) //串复制 初始条件:串S存在。 操作结果:由串S复制得串T。 DestroyString (&S) 初始条件:串S存在。 操作结果:串S被销毁

ClearString (&S)初始条件:串S存在操作结果:将S清为空串StrEmpty (S)初始条件:串S存在操作结果:若S为空串,则返回TRUE,否则返回FALSE
ClearString (&S) 初始条件:串S存在。 操作结果:将S清为空串。 StrEmpty (S) 初始条件:串S存在。 操作结果:若S为空串,则返回TRUE,否 则返回FALSE

/串比较StrCompare (S, T)初始条件:串S和T存在操作结果:若S>T,则返回值>0;若S=T,则返回值0;若S<T,则返回值<0。<0StrCompare(data',‘structure'))//求串长StrLength (S)初始条件:串S存在操作结果:返回S的元素个数,称为串的长度
StrCompare (S, T) //串比较 初始条件:串S和T存在。 操作结果:若S>T,则返回值>0; 若S=T,则返回值=0; 若S<T,则返回值<0。 StrCompare(‘data’, ‘structure’) StrLength (S) //求串长 初始条件:串S存在。 操作结果:返回S的元素个数,称为串的长度。 <0

/串联接Concat (&T, S1, S2)初始条件:串S1和S2存在操作结果:用T返回由S1和S2联接而成的新串。Concat(&T,data',‘structure"T='datastructure
Concat (&T, S1, S2) //串联接 初始条件:串S1和S2存在。 操作结果:用T返回由S1和S2联接而 成的新串。 Concat(&T,‘data’, ‘structure’) T=‘datastructure’