数据结构——串实践报告.docx

数据结构——串实践报告.docx

ID:62506303

大小:37.01 KB

页数:16页

时间:2021-05-10

数据结构——串实践报告.docx_第1页
数据结构——串实践报告.docx_第2页
数据结构——串实践报告.docx_第3页
数据结构——串实践报告.docx_第4页
数据结构——串实践报告.docx_第5页
资源描述:

《数据结构——串实践报告.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、百度文库-让每个人平等地提升自我成绩:实验报告课程名称:数据结构实践课实验项目:定长串存储方法姓名:专业:班级:学号:2百度文库-让每个人平等地提升自我计算机科学与技术学院实验教学中心2017年9月23日2实验项目名称:串的定长存储表示方法一、实践目的:1.熟练掌握串的定长顺序存储表示方法。2.利用串的基本操作实现相关算法。二、实践内容:1.实现串的定长顺序存储表示的基本操作。并用主程序进行多次验证。2.设s='abcdefghijk'、t='cde'为两个字符串,利用定长顺序存储结构的串操作,判断t是否为s的子串。如果是,输出子串所在位置(第一个字符)。编程实现。3.已知三个字符串分别为s

2、='ababababcaabcbcaaaaaas1='caab',s2='bcb'。利用所学字符串基本运算的函数得到结果串为:s3='caabcbcaaaaaacaaaaaa编程实现。三、实验用设备仪器及材料计算机四、实验原理及接线五、实验操作步骤//检验的主程序//(程序名)#include<>#include<>#include<>//malloc()等#include<>//INT_MAX等/#include<>//EOF("Z或F6),NULL#include<>//atoi()#include<>//eof()8#include<>//floor(),ceil(),abs()#i

3、nclude<>//exit()//#include<>//cout,cin//函数结果状态代码#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1//#defineOVERFLOW-2因为在中已定义OVERFLOW的值为3,故去掉此行typedefintStatus;//Status是函数的类型,其值是函数结果状态代码,如OK等typedefintBoolean;//Boolean是布尔类型,其值是TRUE或FALSE//串的定长顺序存储表示#defineMAXSTRLEN30〃用户可在255以内定义最大串长

4、(1个字节)typedefcharSString[MAXSTRLEN+1];//号单元存放串的长度//串采用定长顺序存储结构(由定义)的基本操作(14个)//SString是数组,故不需引用类型。此基本操作包括算法,,StatusStrAssign(SString&T,char*chars){///生成一个其值等于chars的串Tinti;if(strlen(chars)>MAXSTRLEN)returnERROR;else{T[0]=strlen(chars);for(i=1;i<=T[0];i++)'T[i]=*(chars+i-1);returnOK;}}StatusStrCopy(

5、SStringT,SStringS){///由串S复制得串Tinti;for(i=0;i<=S[0];i++)T[i]=S[i];returnOK;}StatusStrEmpty(SStringS){8///若S为空串,则返回TRUE否则返回FALSEif(S[O]==O)returnTRUE;elsereturnFALSE;}intStrCompare(SStringS,SStringT){///初始条件:串S和T存在///操作结果:若S>T则返回值>0若S=T则返回值=0;若S

6、/returnS[i]-T[i];returnS[0]-T[0];}intStrLength(SStringS){///返回串的元素个数returnS[0];}StatusClearString(SStringS){///初始条件:串S存在。操作结果:将S清为空串S[0]=0;//令串长为零returnOK;}StatusConcat(SString&T,SStringS1,SStringS2)算法改{//用T返回S1和S2联接而成的新串。若未截断,则返回TRUE否则FALSEinti;if(S1[0]+S2[0]v=MAXSTRLEN){//未截断for(i=1;i<=S1[0];i++

7、)T[i]=S1[i];for(i=1;i<=S2[0];i++)T[S1[0]+i]=S2[i];T[0]=S1[0]+S2[0];returnTRUE;}else8//截断S2for(i=1;iv=S1[0];i++)T[i]=S1[i];for(i=1;iv=MAXSTRLEN-S1[0];i++)T[S1[0]+i]=S2[i];T[0]=MAXSTRLEN;returnFALSE;}}StatusS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。