2023年数据结构实验报告链串.pdf
《2023年数据结构实验报告链串.pdf》由会员分享,可在线阅读,更多相关《2023年数据结构实验报告链串.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、宁波工程学院电信学院计算机教研室实验报告课程名称:数据结构 姓 名:_ 学 号:实验项目:链串的基本算法 班 级:计 科 102指导教师:B 期:20 2 3/1 0/1 3实验位置:电子楼二楼机房一 实验目的1)熟悉串的定义和串的基本操作。2)掌握链串的基本运算。3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。二、实验环境装有V i s ual C+6.0的计算机。三、实验内容编写一个程序,实现链串的各种基本运算,并在此基础上设计一个主程序。具体如下:编写栈的基本操作函数链串类型定义如下所示:typede f s t r uct s no d e ch a r data;st r
2、 u c t s n o de*ne x t;l i s t r ing;(1)串赋值 A ssign(s,t)将一个字符串常量赋给串S,即生成一个其值等于t的串S(2)串复制 S trC o py(s,t)将串t赋给串s(3 )计算串长度S trL en gth(s)返回串s 中字符个数(4)判断串相等 S trE qual(s,t)若两个串s与 t相等则返回1;否则返回0。(5)串连接 C o n c at(s,t)返回由两个串s 和 t连接在一起形成的新串。(6)求子串 S ub S tr(s,i ,j)返回串s 中从第i(l W iW S trL ength(s)个字符开始的、由连续
3、J个字符组成的子串。插入 I nsS tr(s,i ,t)将 串 t插入到串s 的 第 i (1 W iW S trL ength(s)+1 )个字符中,即将t的第一个字符作为s 的第i个字符,并返回产生的新串(8)串删除 D e I S tr(s,i,j)从 串 S中删去从第i(iw i W S trL ength(s)个字符开始的长度为j 的子串,并返回产生的新串。(9)串替换 R e pS tr(s,sl,s 2 )在串s 中,将所有出现的子串si均替换成s2。(1 0)输出串 D ispS tr(s)输出串s 的所有元素值(1 1)判 断 串 是 否 为 空 I sE mpty(s)编
4、写主函数调用上述函数实现下列操作:(1)建立串 s“ab c defg h i j k I mn,串 si xyz,串 t=h i jk”(2)复制串t到 tl,并输出tl 的长度(3)在 串 s 的第9个字符位置插入串s 1 而产生串s 2,并输出s2(4)删除s第 2个字符开始的5 个字符而产生串s3,并输出S 3(5)将 串 s 第 2个字符开始的3个字符替换成串si而产生串s4,并输出s4(6)提取串s 的第8个字符开始的4个字符而产生串S 5,并输出S 5(7)将 串 s 1 和串t连接起来而产生串s6,并输出s 6(8)比较串si和 s 5是否相等,输出结果程序清单:#in c 1
5、 ude#i n c Iudet yp e d e f struct s n odeoc h ar data;st r u c t snode*n e x t;li s t r i n g;/字符串赋值void s t r a ssig n(1 istring*&s,char c s t r)eint i;li s t ring*p;s=(l i s t ring*)mal 1 o c(siz e of(1 is t rin g);o r=s;for(i=0;cstr L i!八 0=i+)o p=(l i st r i ng*)m a 1 loc(s i ze o f(lis t r ing
6、);p-data=cstri;r-n ext=p;r=P;0)ar-next=N U LL;)字符串复制v o i d s t r c opy(l i stri n g*&s,1 i str i n g *t)i str i ng*p=t-ne x t,*q,*r;s=(li s tring*)m a 1 1 oc(s ize o f(lis t r i n g);r=s;wh i le(p!=N ULL)o q=(listri n g*)mall o c(sizeof(1 i stri n g);o q-d a ta=pdata;。r-nex t=q;oo r=q;op=p-next;)r-
7、ne x t=N U LL;)/字符串长度i n t s tri e ng t h(l i str i ng*s)int i=0;listr i n g*p=s-nex t;owh i le(p!=NU L L)ooi+;p=p-next;。ret u rn i;/判断字符串是否相等int s t requ a l(li s t ri n g*s,1 i s t rin g*t)1 i s tr i n g*p=s-ne x t,*q=t-n e xt;whil e(p!=NULL&q!=NULL&p-data=qd a ta)p=p-next;叫=Q -n e x t;0)df(p=NU L
8、 L&q=NULL)o ret u m 1 ;e Ise。r etum 0;)字符串连接1 i string*co n cat(listring*s,lis t r i ng*t)lis t ri n g*s t r,*p=s-ne x t,*q,*r;s t r=(1 i s tr i ng*)ma 1 1 o c(si z e of(list r i n g);r=str;owhile(p!=NULL)q=(listr i ng*)mallo c(si z eof(list r i n g);eqd a t a=p-dat a;r-ne x t=q;p=p-n ext;叩二t ne x t
9、;owhile(p!=NUL L)o q=(listring*)m a 1 1 o c(s izeof(1 ist r in g);q-data=p-dat a;o r-next=q;oo r=q;p=p-n e xt;r next=NULL;o r etum s tr;)字符串的子串listr i ng*substr(l i st r in g*s,int i,int j)oint k;1 i str i ng*str,*p=s-ne x t,*q,*r;str=(list r ing*)m a ll oc(s i zeo f(1 ist r ing);s t r-nex t=NULL;r=
10、str;oif(istrlength(s)|I j s tri e ngth(s)return str;ofor(k=0;kp=p-nex t;o f o r(k=l;k d a ta=p-d ata;o r-next=q;r=q;p=p-n ext;。r-ne x t=NU L L;return s t r;)字符串插入listring*inss t r(1 i string*s,int i,listr i n g*t)int k;listr i n g*str,*p=s-n e xt,*pl=t-next,qr;s t r=(lis t r i ng*)m a 1 1 o c(si z e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 数据结构 实验 报告
限制150内