ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:30.48KB ,
资源ID:14887450      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/14887450.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单链表的操作实现实验报告Word文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单链表的操作实现实验报告Word文档格式.docx

1、为单申请头结点空间,将单链表设置为空;创建: (1)头部插入法:(a)初始化空表;(b)申请新结点并赋值;(c)插入新结点;(d)插入第i个元素。(2)尾部插入法:(a)建空表(b)申请结点并赋值;(c)插入第一个结点;(d) r-next-s,r-s;长:从表头开始,将指针依次指向各个结点,一直到 p-next-NULL为止,用j来计数。查找:(1)按值查找:表中查找第 i个结点,找到就返回该结点的存储位置,用 j来存储扫描过的结点数(j的初值为0),但j-i时,结束。(2)按序号查找:从表中第一个结点开始,当 key等于查找到的元素的数据时停止查找。插入:在单链表中第i-1个结点并由指针指

2、示,申请结点空间 q,将数据域置为x,更新指针。删除:从头结点开始,删除第 i个结点并释放空间;输出:当表不为空时,依次输出表中元素;合并:与顺序表一样,只需为新的结点申请一个空间。典型测试数据输入:输入数据个数:4 数据:1, 2, 3, 41 , 2, 3, 4预期结果:基本实现了单链表的基本 各种操作。程序及运行结果正误判断: 口非常好 口/ 正确,切改进 口基本正确,还需改进 口还有错误不足之处或设计经验小结:(1) L是单钏的头指针的指针,用来接收头指针变量的地址, *L待初始化的单链表为头指针变量;(2) 节省了空间,访问结点时,只需知道头指针,就可以找到其他的元素;(3)头插法建

3、表得到的链表中的结点的次序和输入的顺序相反,尾插法则一致;(4) 求灯时,算法的时间复杂度为 O (n)。任课教师评语:教师签字:注:每学期至少有一次设计性实验。每学期结束请任课教师按时按量统一交到教学秘书处。源程序文件名及组件: #include,#includeconio.hwindows.h算法设计思想算法描述#includenext=NULL;LinkList create(int n)LinkList h,r,p;int x,i;h=(Node*)malloc(sizeof(Node);r=h;printf(请输入数据:n);for(i=1;idata=x;r-next=p;r=p;

4、return h;/*头部插入*/int CreatfromH(LinkList head)LinkList p;ElemType x;puts(输入数据,输入-100。结束输入!while(1)if(x!=-1000)(next=head-next;head-else break;return 1;return 0;/*尾部插入*/LinkList CreatfromT(LinkList head)LinkList p,q,t;q=head;t=head;puts(”输入数据,输入-1000结束输入!t-t=p;return q;int Inslist(LinkList *head,int

5、i,ElemType x)LinkList p,q;p=(*head);int j=0;while(p&jj+;if(!p|j插入位置不合法!q=(Node*)malloc(sizeof(Node);q-next=p-next=q;/输出void Output(LinkList head)*/*定义节点指针类型,并指向首元结点p=head-while(p!=NULL)n%d”,p-data);/*求表长*/int LengthList(LinkList head)int i;i=0;i+;return i;/*查找*/int Locate1(LinkList head,ElemType x)i

6、nt i=1;=NULL&data!=x)if(p=NULL) return 0;int Locate2(LinkList head,int i)int j;p=head;j=0;if(ii)return NULL;while(p-next!=0&i)return p-data;/*删除*/int Del(LinkList *head,int i)j=j+;if(p=NULL&j删除位置不合理!q=p-next-free(q);/*合并两个单链表*/LinkList merge(LinkList La,LinkList Lb)LinkList Lc;LinkList q,p,r;p=La-q=

7、Lb-Lc=La;Lc-r=Lc;q!if(p-datadata)elser=q;q=q-if(p)free(Lb);return(Lc);void main()LinkList head,La,Lb;char zdg,y;while(zdg!=0)getch();system(CLS* 功能选择 * 0-退出 1-创建 2-插入 * 3-输出 4-表长 5-查找 * 6-删除 7-合并 *请选择功能:%c”,&zdg);switch(zdg)case0puts(l*l* 0-般创建 1-头部插入法 2-尾部插入法 *请选择:y);y=getch();if(y=)输入数字的个数:%d,&i);head=create(i);1CreatfromH(head);printf(-新的单链表为:Output(head);2Output(CreatfromT(head);break;请输入要插入的位置:请输入要插入的数据:if(Inslist(&head,i,x)!插入成功!3输入的数据为:4长度为:,LengthList(head);5*);*

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1