数据结构实验5:串子系统.pdf

数据结构实验5:串子系统.pdf

ID:59079712

大小:593.57 KB

页数:11页

时间:2020-09-15

数据结构实验5:串子系统.pdf_第1页
数据结构实验5:串子系统.pdf_第2页
数据结构实验5:串子系统.pdf_第3页
数据结构实验5:串子系统.pdf_第4页
数据结构实验5:串子系统.pdf_第5页
资源描述:

《数据结构实验5:串子系统.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯最新资料推荐⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯验证性实验5:串子系统班级学号012301114114姓名胡德文1.实验目的(1)掌握串的特点及顺序定长存储的方式。(2)掌握串的创建、连接、插入、删除、显示等操作。(3)掌握串的查找、取子字符串、比较串大小的操作(4)掌握模式匹配的基本思想及其算法。2.实验内容(1)由用户通过键盘输入建立一个字符串。(2)编写插入、删除、查找、比较、取子字符串、连接字符串、显示、模式匹配等程序。(3)设计一个选择式菜单,以菜单方式选择上述操作。串子系统***********

2、**********************************1------输入字串**2------连接字串**3------取出子串**4------删除子串**5------插入子串**6------查找子串**7------比较串大小**8------显示字串**0------返回*********************************************请输入菜单选项(0--8):3.实验程序#include#defineSTRINGMAX100typedefstruct{charvec[STRINGMAX

3、];intlen;}str;voidConcatStr(str*r1,str*r2){inti;printf("ttr1=%sr2=%s",r1->vec,r2->vec);if(r1->len+r2->len>STRINGMAX)printf("t两个串太长,溢出!");else{for(i=0;ilen;i++)r1->vec[r1->len+i]=r2->vec[i];r1->vec[r1->len+i]='0';r1->len=r1->len+r2->len;1⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯最新

4、资料推荐⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯}}voidSubStr(str*r,inti,intj){intk;stra;str*r1=&a;if(i+j-1>r->len){printf("tt子串超界!");return;}else{for(k=0;kvec[k]=r->vec[i+k-1];r1->len=j;r1->vec[r1->len]='';}printf("tt取出字符为:");puts(r1->vec);}voidDelStr(str*r,inti,intj){intk;if(i+j-1

5、>r->len)printf("tt所要删除的子串超界!");else{for(k=i+j;klen;k++,i++)r->vec[i]=r->vec[k];r->len=r->len-j;r->vec[r->len]='';}}str*InsStr(str*r,str*r1,inti){intk;if(i>=r->len

6、

7、r->len+r1->len>STRINGMAX)printf("tt不能插入!");else{for(k=r->len-1;k>=i;k--)r->vec[r1->len+k]=r->vec[k

8、];for(k=0;klen;k++)r->vec[i+k]=r1->vec[k];r->len=r->len+r1->len;r->vec[r->len]='';}returnr;}2⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯最新资料推荐⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯intIndexStr(str*r,str*r1){inti,j,k;for(i=0;r->vec[i];i++)for(j=i,k=0;r->vec[j]==r1->vec[k];j++,k++)if(!r1->vec[k+1])returni;return-1

9、;}intLenStr(str*r){inti=0;while(r->vec[i]!='')i++;returni;}str*CreateStr(str*r){gets(r->vec);r->len=LenStr(r);returnr;}intEqualStr(str*r1,str*r2){for(inti=0;r1->vec[i]&&r2->vec[i]&&r1->vec[i]==r2->vec[i];i++);returnr1->vec[i]-r2->vec[i];}voidmain(){stra,b,c,d;str*r=&a,*r1;r->ve

10、c[0]='';charchoice,p;inti,j,ch=1;while

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

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

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