下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、昆明理工大学信息工程与自动化学院学生实验报告(201课程名称:数据结构201学年第一开课实验室:学期)年月日年级、专业、班学号姓名成绩实验项目名称线性表链式存储运算的算法实现指导教师教师评教师签名:语年月日.实验内容:线性表链式存储运算的算法实现,实现链表的建立、链表的数据插入、链表的数据删除、 链表的数据输出。二.实验目的:1. 掌握线性表链式存储结构的C语言描述及运算算法的实现;2. 分析算法的空间复杂度和插入和删除的时间复杂度;3. 总结比较线性表顺序存储存储与链式存储的各自特点。三.主要程序代码分析:Lin kList creatListR1()/用尾插入法建立带头结点的单链表char
2、 *ch=new char();LinkList head=(LinkList)malloc(sizeof(ListNode); /生成头结点 *headListNode *s,*r,*pp;r=head;/尾指针初值指向头结点r-n ext=NULL;scan f(%s,ch);/读入第一个结点的值while(strcmp(ch,#)!=O) /输入#结束pp=LocateNode(head,ch);if(pp=NULL) s=(ListNode *)malloc(sizeof(ListNode); /生成新的结点 *sstrcpy(s-data,ch);r-n ext=s;/r=s;/r-
3、n ext=NULL;sca nf(%s,ch);/return head;/新结点插入表尾尾指针r指向新的表尾读入下一个结点的值返回表头指针int In sert(ListNode *head)/ListNode *in ,*p,*q;链表的插入int wh;in=(ListNode *)malloc(sizeof(ListNode);i n- next=NULL; p=(ListNode *)malloc(sizeof(ListNode);p- next=NULL;/生成新结点q=(ListNode *)malloc(sizeof(ListNode);q- next=NULL;sca nf
4、(%s,i n-data);sca nf(%d,&wh);/for(p=head;wh0;p=p-n ext,wh-); q=p-n ext;p-n ext=in;in-n ext=q;/输入插入的数据输入插入数据的位置void DeleteList(L in kList head,char *key)ListNode *p,*r,*q=head; p=LocateNode(head,key);/if(p=NULL)exit(0);/while(q-n ext!=p)/pq=q-n ext;r=q-n ext;q-n ext=r- n ext;free(r);/链表的删除按key值查找结点的若
5、没有找到结点,退出 为要删除的结点,q为p的前结点释放结点*r四.程序运行结果:欢迎下载4LJ_g圭冃主冃主冃主冃圭冃主冃a b c Ju ea b cd eR J s *月居居居居居居入入入入入入入青输入要删除的敎据,bbhCCC J.dddreee r G:逐局护5 实卸 Debuglinkli5t. exen请输入插入的数据;XXX:青输入你数据插入的位置,XXX,ddd.eee五.实验总结:通过线性表链式存储运算的算法实现的上机实验,我了解了链式的基本原理和方法, 能编程对数据进行链式存储。由于顺序储存是用物理位置上的邻接关系来表示结点间的逻 辑关系,其插入或删除运算不方便,而且当表长变化较大时,难以确定合适的存储规模, 为了解决这些问题,我们采用链接方式存储线性表。所以,当线性表的长度变化较大,难 以估计其存储规模时,以采用动态链表作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 48010-2026一次性使用人体非血液样本采集容器
- GB/T 25442-2026旋转电机(牵引电机除外)确定损耗和效率的试验方法
- 广东广州市海珠区2025学年度第二学期小学语文三年级课堂练习参考内容(三)月考试题(文字版含答案)
- 福建劳动合同范本(范本)
- 湖南衡阳高新区2027届四年级数学第一学期期末综合测试试题含解析
- 2027届广东省深圳市龙岗区万科实验学校数学六年级第一学期期末达标检测模拟试题含解析
- 职业危害因素检测合同(范本)
- 2027届山东省菏泽市定陶区三年级数学第一学期期末复习检测试题含解析
- 铜鼓县2027届六年级数学第一学期期末综合测试模拟试题含解析
- 会计电算化大学生社会实践报告
- 2026年全国保密教育线上培训考试试题库及参考答案【完整版】
- 2026福建漳州闽投华阳发电有限公司招聘43人笔试参考题库及答案详解
- GB/T 47655-2026电力电子装备和系统的构网性能要求及试验方法
- GA/T 1466.1-2026智能手机型移动警务终端第1部分:技术要求
- 中信建投:未来产业投资地图系列之“可控核聚变”
- 检验科生物安全培训内容及记录
- 2025广东省深圳市中考历史真题(解析版)
- 门诊一站式服务流程建设方案
- 浙江省食用农产品批发市场食品安全主体责任清单与技术评审指南(2023版)
- 注册安全工程师考试金属冶炼(中级)安全生产专业实务复习难点详解
- 大型赛事活动安保服务方案投标文件(技术标)
评论
0/150
提交评论