《数据结构》课程教学课件(讲稿,C语言描述)第4章 串

串第4章数据结构J(C描述)
第4章 串 数据结构(C描述)

目录4.1串的定义及运算串的存储结构4.24.3串的运算的实现结束放演
目 录 4.1 串的定义及运算 4.2 串的存储结构 4.3 串的运算的实现 结束放演

4.1串的定义及运算4.1.1 基本概念串的定义1.串(string)是由零个或多个字符组成的有限序列,记作s=aja2..a,其中s为串的名字,用成对的单引号括起来的字符序列为串的值,但两边的单引号不算串值,不包含在串中。a(1<i<n)可以是字母、数字或其它字符。n为串中字符的个数,称为串的长度。2. 空串,它的长度n=0,记为不含任何字符的串称为空串,S=0般用Φ来表示“空串
4.1串的定义及运算 4.1.1 基本概念 1.串的定义 串( string) 是由零个或多个字符组成的有限序列,记作 s=„a1 a2.an ‟ ,其中s为串的名字,用成对的单引号括起来 的字符序列为串的值,但两边的单引号不算串值,不包 含在串中。ai (1≤i≤n)可以是字母、数字或其它字符。n为 串中字符的个数,称为串的长度。 2.空串 不含任何字符的串称为空串,它的长度n=0,记为 s=„‟。 一般用Ф来表示“空串

3. 空格串含有一个空格的串,称为空格串,它的长度n=1,记为S=4.子串、主串若一个串是另一个串中连续的一段,则这个串称为另一个串的子串,而另一个串相对于该串称为主串。例如,串s1=abcdefg’,s2=fabcdefghxyz’,则s1为s2的子串s2相对于s1为主串
3.空格串 含有一个空格的串,称为空格串,它的长度n=1,记为 s=„ ‟ 。 4.子串、主串 若一个串是另一个串中连续的一段,则这个串称为另 一个串的子串,而另一个串相对于该串称为主串。例 如,串s1=„abcdefg‟,s2=„fabcdefghxyz‟,则s1为s2的子串, s2相对于s1为主串

4.1.2 串的运算为描述方便,假定用大写字母表示串名,小写字母表示组成串的字符赋值1.assign(&S,T)表示将T串的值赋给S串。联接2.concat(&S,T)表示将S串和T串联接起来,使T串接入S串的后面3. 求串长度length (T)求T串的长度
4.1.2 串的运算 为描述方便,假定用大写字母表示串名,小写字母表 示组成串的字符。 1. 赋值 assign(&S,T) 表示将T串的值赋给S串。 2. 联接 concat(&S,T) 表示将S串和T串联接起来,使T串接入S串的后面。 3. 求串长度 length (T) 求T串的长度

4.子串substr(S,i,j,&T)表示截取S串中从第i个字符开始连续i个字符,作为S的一个子串,存入T串二5. 串比较大小 strcmp(S,T)比较S串和T串的大小,若ST,函数值为正。串插入6.insert (&S,i,T)在S串的第i个位置托入T串。串删除7.delete(&S,i,i)删除串S中从第i个字符开始连续i个字符
4.子串 substr(S,i,j,&T) 表示截取S串中从第i个字符开始连续j个字符,作为 S的一个子串,存入T串。 5.串比较大小 strcmp(S,T) 比较S串和T串的大小,若ST,函数值为正。 6. 串插入 insert (&S,i,T) 在S串的第i个位置扦入T串。 7. 串删除 delete(&S,i,j) 删除串S中从第i个字符开始连续j个字符

求子串位置8.index(S,T)求T子串在S主串中首次出现的位置,若T串不是S串的子串,则位置为零9. 串替换replace (&S,i,j,T)将S串中从第i个位置开始连续i个字符,用T串替换,4.1.3串的抽象数据类型描述串的抽象数据类型可描述为:ADTstrings {Data:含有n个字符a,a2,a3...,a,Operation:Void assign(&S,T)//表示将T串的值赋给S串
8. 求子串位置 index(S,T) 求T子串在S主串中首次出现的位置,若T串不是S串 的子串,则位置为零。 9. 串替换 replace (&S,i,j,T) 将S串中从第i个位置开始连续j个字符,用T串替换。 4.1.3 串的抽象数据类型描述 串的抽象数据类型可描述为: ADT strings { Data: 含有n个字符a1 ,a2 ,a3 ,.,an Operation: Void assign(&S,T) //表示将T串的值赋给S串

Void//表示将S串和T串联接起来,使Tconcat(&S,T)串接入S串的后面/求T串的长度intlength(T)Void substr(S,ij,&T)//表示截取S串中从第i个字符开始连续i个字符,作为S的一个子串,存入T串中。//比较S串和T串的大小,若ST,函数值为正//在S串的第i个位置插入T串Void insert(&S,i,T)Void delete(&S,i,i) //删除S中从第i个字符开始连续i个字符int/求T子串在S主串中首次出现的位置index(S,T)若T串不是S串的子串,则位置为零。Voidreplace(&S,i,i,T)//将S串中从第i个位置开始连续i个字符,用T串替换。↑ADT strings;
Void concat(&S,T) //表示将S串和T串联接起来,使T 串接入S串的后面。 int length(T) //求T串的长度。 Void substr(S,i,j,&T) //表示截取S串中从第i个字符开始 连续j个字符,作为S的一个子串,存入T串中。 int strcmp(S,T) //比较S串和T串的大小,若ST,函数值为正。 Void insert(&S,i,T) //在S串的第i个位置插入T串。 Void delete(&S,i,j) //删除S中从第i个字符开始连续j个字符。 int index(S,T) //求T子串在S主串中首次出现的位置, 若T串不是S串的子串,则位置为零。 Void replace(&S,i,j,T) //将S串中从第i个位置开始连续j个 字符,用T串替换。 }ADT strings;

4.2串的存储结构4.2.1 顺序存储串的顺序存储结构,也称为顺序串,与第二章介绍的顺序表类似。但由于串中元素全部为字符,故存放形式与顺序表有所区别串的非紧缩存储一个存储单元中只存储一个字符,和顺序表中一个元素占用一个存储单元类似。具体形式见图4-1,设串S=Howdo you do
4.2 串的存储结构 4.2.1 顺序存储 串的顺序存储结构,也称为顺序串,与第二章介绍的 顺序表类似。但由于串中元素全部为字符,故存放形式 与顺序表有所区别。 1.串的非紧缩存储 一个存储单元中只存储一个字符,和顺序表中一个元素 占用一个存储单元类似。具体形式见图4-1,设串S=“How do you do

H0Wd0y0ud0图 4-1S 串的非紧缩存储
H o w d o y o u d o 图 4-1 S 串的非紧缩存储
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数据结构》课程教学课件(讲稿,C语言描述)第7章 图.pdf
- 《数据结构》课程教学课件(讲稿,C语言描述)第6章 树.pdf
- 《数据结构》课程教学课件(讲稿,C语言描述)第8章 查找.pdf
- 《数据结构》课程教学课件(讲稿,C语言描述)第9章 排序.pdf
- 《数据结构》课程教学资源(知识点)数据结构各章重点难点.pdf
- 《数据结构》课程教学资源(试卷习题)十套数据结构试题及参考答案.pdf
- 《数据结构》课程教学资源(试卷习题)多套练习题及参考答案.pdf
- 《数据结构》课程实验指导书.pdf
- 《数据结构》课程授课教案(讲义,共十章).pdf
- 《计算机程序设计基础》课程PPT教学课件(C语言)第6章 指针进阶与内存空间管理 6.1 指针再认识.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第6章 指针进阶与内存空间管理 6.2 指针数组.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第6章 指针进阶与内存空间管理 6.5 main()函数的命令行参数.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第6章 指针进阶与内存空间管理 6.4 动态内存分配.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第6章 指针进阶与内存空间管理 6.3 函数指针.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第4章 数组和指针 4-7 字符数组的输入与输出格式符%c %s.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第4章 数组和指针 4-8 字符数组的输入与输出函数gets与puts.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第4章 数组和指针 4-6 字符数组的定义与初始化.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第4章 数组和指针 4-10 字符串函数——strcat.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第4章 数组和指针 4-11 字符串函数——strcpy.pptx
- 《计算机程序设计基础》课程PPT教学课件(C语言)第4章 数组和指针 4-12 字符串函数——strcmp.pptx
- 《数据结构》课程教学课件(讲稿,C语言描述)第2章 线性表.pdf
- 《数据结构》课程教学课件(讲稿,C语言描述)第5章 数组和广义表.pdf
- 《数据结构》课程教学课件(讲稿,C语言描述)第3章 栈和队列.pdf
- 《数据结构》课程教学课件(讲稿,C语言描述)第1章 绪论.pdf
- 《计算机组成原理》课程实验指导书.doc
- 《计算机组成原理》课程授课教案(讲稿,文字版).pdf
- 《计算机组成原理》课程教学资源(PPT课件)第七章 存储系统.ppt
- 《计算机组成原理》课程教学资源(PPT课件)第十章 输入输出系统(I/O).ppt
- 《计算机组成原理》课程教学资源(PPT课件)第五章 指令系统.ppt
- 《计算机组成原理》课程教学资源(PPT课件)第六章 中央处理部件(CPU).ppt
- 《计算机组成原理》课程教学资源(PPT课件)第一章 计算机系统概论.ppt
- 《计算机组成原理》课程教学资源(PPT课件)第二章 运算方法和运算部件(二进制运算).ppt
- 《计算机组成原理》课程教学资源(PPT课件)第三章 乘除及校验.ppt
- 《计算机组成原理》课程教学资源(PPT课件)第四章 主存储器.ppt
- 《物联网技术及应用》课程教学资料(参考资料)Publish/Subscribe Communication Systems - from Models to Applications.pdf
- 《物联网技术及应用》课程教学资料(参考资料)Toward the 6G Network Era - Opportunities and Challenges.pdf
- 《物联网技术及应用》课程教学资料(参考资料)A Survey on Green 6G Network - Architecture and Technologies.pdf
- 《物联网技术及应用》课程教学资料(参考资料)A Survey of 5G Network:Architecture and Emerging Technologies.pdf