合肥工业大学数据结构试验一_第1页
合肥工业大学数据结构试验一_第2页
合肥工业大学数据结构试验一_第3页
合肥工业大学数据结构试验一_第4页
合肥工业大学数据结构试验一_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、A厄工专大号计算机与信息学院数据结构实验报告专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点计算机科学与技术14-1班李亚鸣-20142115900001胡学钢/张玉红20142015学年第2学期说明实验报告是关于实验教学内容、过程及效果的记录和总结,因此,应注意以下事项和要求:1.每个实马单元在4页的篇幅内完成一份报告。“实验单元”指按照实验指导书规定的实验内容。若篇幅不够,可另附纸。2、各实验的预习部分的内容是进入实验室做实验的必要条件,请按要求做好预习。3 .实验报告要求:书写工整规范,语言表达清楚,数据和程序真实。理论联系实际,认真分析实验中出现的问题与现象,总结经验。4

2、 .参加实验的每位同学应独立完成实验报告的撰写,其中程序或相关的设计图纸也可以采用打印等方式粘贴到报告中。严禁抄袭或拷贝,否则,一经查实,按作弊论取,并取消理论课考试资格。5 .实验报告作为评定实验成绩的依据实验序号及名称:实验一单链表实验实验时间:201侔6月2日预习内容一、实验目的和要求:(D理解线性表的链式存储结构。(2)熟练掌握动态链表结构及有关算法的设计。(3)根据具体问题的需要,设计出合理的表示数据的链表结构,设计相关算法。二、实验任务:说明1:本次实验中的链表结构均为带头结点的单链表。说明2:为使实验程序简洁直观,下面的部分实验程序中将所需要的函数以调用库函数的形式给出,并假设将

3、库函数放在程序文件“linklist.h中,同时假设该库函数文件中定义了链表结构中的指针类型为linK结点类型为node并定义了部分常用运算。例如构建链表、以某种方式显示链表、从文件中读入一个链表、跟踪访问链表结点等。各运算的名称较为直观,并有相应的注释,因而易于理解和实现。三、实验准备方案,包括以下内容:(硬件类实验:实验原理、实验线路、设计方案等)(软件类实验:所采用的核心方法、框架或流程图及程序清单)实验内容一、实验用仪器、设备:个人计算机VS2013二、实验内容与步骤(过程及数据记录):<1>求链表中第i个结点的指针(函数),若不存在,则返回NULL实验测试数据基本要求:第

4、一组数据:链表长度n>10i分别为5,n,0,n+1,n+2第二组数据:链表长度n=0,i分别为0,2node*list:address(inti)(node*p=head->next;intn=1;while(n!=i&&p!=NULL)(p=p->next;n+;if(p!=NULL)returnp;elsereturnNULL;第一组数据F:wind0wssyst&rm32cmd*sxe输入链表的数据1234567890植表为;1234567990用址为:00DF7260g日晒晒0000000000000900请按任意键继续.eaut<&l

5、t;endl:caut<<"地址为:"<<gnd;cout<<list1*address(E)<<endl;Comtlistl.address(11jendl,cwt«mddra5亍(Q)Venil;Gout-<<listl.addref?(12)<<«xdl;coiAt<<listL4ddresfU3)<<eadl;/*cr»u.t«list1,address(0)«endl:cout<<listl.address(

6、2)«end.1:return0;第二组数据cout«"地址为:"«endl:S3F:windowssystfim32ondiexe/*cout<<listl.addressC5)<<endl:CQirtlist1.address(11)久endl;Jcout<<listaddress(0)<<endl;地址为:cout<<listl.address(12)<<end!:RHRE1CIEIRHlcout«listLaddress(13)<<endl;*

7、/cJOOKJEJOuU00000000cout<<list14address(0)<<endl;请按任意键继续-.cout«list1.address(2)«endl;return0:<2>在第i个结点前插入值为X的结点。实验测试数据基本要求:第一组数据:链表长度n>10x=100,i分别为5,n,n+1,0,1,n+2第二组数据:链表长度n=0,x=100i=5errorcodelist:insert(constinti,constintx)(node*p;p=head;intn=1;while(n!=i&&p!

8、=NULL)(p=p->next;n+;if(i<1|i>length()+1)returnrangeerror;node*s=newnode;s->data=x;s->next=p->next;p->next=s;count+;returnsuccess;<3>删除链表中第i个元素结点。实验测试数据基本要求:第一组数据:链表长度n>10i分别为5,n,1,n+1,0第二组数据:链表长度n=0,i=5errorcodelist:delete_ele(constinti)node*p;p=head;intn=1;while(n!=i&a

9、mp;&p!=NULL)p=p->next;n+;if(i<1|i>count)returnrangeerror;node*u;u=p->next;p->next=u->next;count-;deleteu;returnsuccess;<4>在一个递增有序的链表L中插入一个值为x的元素,并保持其递增有序特性。实验测试数据基本要求:链表元素为(10,20,30,40,50,60,70,80,90,1)0。x分别为25,85,11侪口8errorcodelist:orderinsert(intx)(node*p=head;intn=1;wh

10、ile(p->next!=NULL)(if(p->next->data<x)p=p->next;elsebreak;)node*u=newnode;u->data=x;u->next=p->next;p->next=u;count+;returnsuccess;)<5>将单链表L中的奇数项和偶数项结点分解开,并分别连成一个带头结点的单链表,然后再将这两个新链表同时输出在屏幕上,并保留原链表的显示结果,以便对照求解结果。实验测试数据基本要求:第一组数据:链表元素为(1,2,3,4,5,6,7,8,9,10,20,30,40,50,60第二组数据:链表元素为(10,20,30,40,50,60,70,80,90,1)00<6>求两个递增有序链表L1和L2中的公共元素,并以同样方式连接成链表L3。实验测试数据基本要求:第一组第一个链表元素为(1,3,6,10151617181920)第二个链表元素为(1,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论