



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验二 双向链表的基本操作和应用一、实验目的:1.掌握双向线性表的逻辑特征2.熟练掌握带头结点的双向链式表的指针操作、能完成双向链表的插入、删除、获取指定位序结点指针、遍历、和复杂应用;二、实验内容(双向链式线性表)1.熟悉Visual Studio 6.0,会设置断点,会查看运行过程中的指针情况;2.编写双向链表的插入、删除、获取指定位序的结点、遍历函数;3.实现将a1,a2,a3an的双向链表转变为:a1,a3a4,a2;三、实验结果#include typedef struct DulNodeint data; struct DulNode*Prior,*Next;DulNode,*LinkDulNode;int InsertDulNode(LinkDulNode head, int location, int data)LinkDulNode p=head; for(int i=0;iNext=head) break; elsep=p-Next;if(locationdata=data; s-Next=p-Next; s-Prior=p; p-Next-Prior=s; p-Next=s; +head-data;void PrintDulNode(LinkDulNode head) LinkDulNode p; p=head-Next; while(p!=head) printf(%d,p-data); p=p-Next; LinkDulNode GetDulNode(LinkDulNode head,int i)LinkDulNode p; for(int j=0;jNext;head=p;return p;void DeleteDulNode(LinkDulNode head, int data) LinkDulNode p; p=head-Next; for(int i=0;iNext; p-Prior-Next=p-Next; p-Next-Prior=p-Prior; -head-data;void Change(LinkDulNode h1, LinkDulNode h2) int i=0; LinkDulNode p,q; p=h1-Next; while(p!=h1) q=GetDulNode(h1,i); InsertDulNode(h2, i, q-data); DeleteDulNode(h1, i); p=p-Next; i+; int j=h1-data-1; p=h1-Prior; while( p!=h1) q=GetDulNode(h1,j); InsertDulNode(h2, i, q-data); DeleteDulNode(h1, j); i+; j-; p=p-Prior; void main()LinkDulNode h1; h1=new DulNode;h1-data=0; h1-Next=h1;h1-Prior=h1; InsertDulNode(h1, 0, 9); InsertDulNode(h1, 0, 8); InsertDulNode(h1, 0, 7); InsertDulNode(h1, 0, 6);InsertDulNode(h1, 0, 5);InsertDulNode(h1, 0, 4);InsertDulNode(h1, 0, 3);InsertDulNode(h1, 0, 2);InsertDulNode(h1, 0, 1);PrintDulNode(h1);printf(n);LinkDulNode h2;h2=new DulNode;h2-data=0;h2-Next=h2; h2-Prior=h2; Change(h1, h2);PrintDulNode(h2);printf(n);四、实验中遇到的问题及解决方法1遇到的问题:用函数求的表长度过于繁琐,是否可在双向循环链表中储存链表长度信息。解决方法:方法1.定义表结构定义时多定义int length 类型,这使得所有的节点中的p-length均为表长度,造成资源浪费;方法2.在头节点L-date中储存链表长度,在插入函数中加入+L-date操作,删除函数中加入-L-date操作。2.遇到的问题:编写程序过程中忽略大小写。解决方:输写时仔细些,完成后认真检查。五、心得体会 在这次实验中已就遇到了一些
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业对外合同范本业务合同起草版
- 企业合同审批与签署管理模板
- 室内花园:打造温馨的小天地
- 心理失衡排解预案
- 企业级通信网络解决方案服务协议
- 纺织服饰品牌创意设计规定
- 助力养殖业智慧经营规划
- 工业自动化机床维护手册
- 航海船舶事故预案
- 公司财务战略规划与执行
- 小学硬笔书法课教案(1-30节)
- 卫生政策学之政策问题根源分析
- 聚合物成型的理论基础课件
- 周口市医疗保障门诊特定药品保险申请表
- 灭火器每月定期检查及记录(卡)表
- 校园物业考评表
- 千米、分米和毫米的认识单元备课
- GB∕T 29169-2012 石油天然气工业 在用钻柱构件的检验和分级
- 重大医疗事件报告及处理制度
- 爆破作业人员培训考核题库
- 构造地质学03章-地质构造分析的力学基础
评论
0/150
提交评论