数据结构C语言第四章 串.docx
《数据结构C语言第四章 串.docx》由会员分享,可在线阅读,更多相关《数据结构C语言第四章 串.docx(5页珍藏版)》请在三一办公上搜索。
1、数据结构C语言第四章 串第四章 串 重点难点 理解串类型定义中各基本操作的特点,并能正确利用它们进行串的其它操作;掌握串类型的各种存储表示方法; 理解串的两种匹配算法。 典型例题 1、简述下列每对术语的区别: 空串和空白串;串常量和串变量;主串和子串;静态分配的顺序串和动态分配的顺序串; 空串是指不包含任何字符的串,它的长度为零。 空白串是指包含一个或多个空格的串,空格也是字符。 串常量是指在程序中只可引用但不可改变其值的串。 串变量是可以在运行中改变其值的。 主串和子串是相对的,一个串中任意个连续字符组成的串就是这个串的子串,而包含子串的串就称为主串。 静态分配的顺序串是指串的存储空间是确定
2、的,即串值空间的大小是静态的,在编译时刻就被确定。 动态分配的顺序串是在编译时不分配串值空间,在运行过程中用malloc和free等函数根据需要动态地分配和释放字符数组的空间(这个空间长度由分配时确定,也是顺序存储空间)。 2、以HString为存储表示,写一个求子串的算法。 HString 是指以动态分配顺序串为存储表示,其定义为: typedef struct char *ch; int length; HString; void *substr( HString *sub,HString *s,int pos,int len) /用sub返回串s的第pos个字符起长度为len的子串。su
3、b初始时为一空串 /pos的合法位置为0=poslength-1 int i; if (poss-length-1|lenlengthlen=s-length-pos;/设置子串的串长 else sub-length=len; /设置子串的串长 sub-ch=(char *)malloc(len*sizeof(char);/为sub-ch申请结点空间 for(i=0;ilength;i+)/将s串中pos位置开始的共sub-length个字符复制到sub串中 sub-chi=s-chpos+i; 3、若S和T是用结点大小为1的单链表存储的两个串,试设计一个算法找出S中第一个不在T中出现的字符。
4、 查找过程是这样的,取S中的一个字符(结点),然后和T中所有的字符一一比较,直到比完仍没有相同的字符时,查找过程结束,否则再取S中下一个字符,重新进行上述过程。算法如下: 链串的结构类型定义: typedef struct node char data; struct node *next; LinkStrNode; /结点类型 typedef LinkStrNode *LinkString; /LinkString为链串类型 LinkString S; /S是链串的头指针 char SearchNoin( LinkString S, LinkString T) /查找不在T中出现的字符 Li
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构C语言第四章 数据结构 语言 第四
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3560128.html