- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内核链表实验报告
内核链表实验报告
篇一:链表实验报告
重庆工商大学
《数据结构》 课程实验报告封面
专业班级: 学
号:
学生姓名: 实验室:__________________
实验题目:_______双链表的基本操作方法_______________
指导教师: 成 绩:__________________
日期:2013年_9 月____日 第_ 4_ 周
星期__3_节次____
目录
实验题目----------------------------------------------------------------------------------1
实验目的----------------------------------------------------------------------------------1
实验内容----------------------------------------------------------------------------------
实验要点与要求-------------------------------------------------------------------------
算法思想----------------------------------------------------------------------------------
算法描述----------------------------------------------------------------------------------
算法流程图 ----------------------------------------------------------------------------------
实验测试与结果-------------------------------------------------------------------------
总结体会----------------------------------------------------------------------------------
源代码 ----------------------------------------------------------------------------------
1 1 1 1 4 5 5 6
实验报告的内容与要求
一、实验题目 双链表的基本操作 二、实验目的
了解双链表的结构特点及有关概念,掌握双链表的基本操作算法。 三、实验内容
实现双链表的初始化、销毁、建立、插入、删除和查找等基本操作。 四、实验要点与要求
1. 处理的数据类型即ElemType的类型: 基本版要求:整型、字符型
扩展版要求:字符串型(基础较好的同学)
2. 参数类型分别用指针、引用和引用型指针
五、算法思想
和顺序表不同的是,链表不需要占用一整块事先分配的固定的内存空间,而是采用动态空间链接的方式进行。在每个存储节点都包含了元素本身的信息(数据域)和元素之间的逻辑联系(指针域),就双链表而言,其指针域包含了前驱指针和后续指针,分别用于指向当前节点的上一个节点和下一个节点,故而,对双链表进行操作的时候,要考虑其前驱指针和后续指针的指向,否则容易引起混乱。在链表的操作中,首先最重要的是定义一个头结点,因为指向头结点的指针唯一标识该链表,本次程序采用了不包含任何数据的头节点定义方式。
六、算法描述及流程图
由于程序的分支较多,需要实现的功能也不尽相同,和顺序表一样,我选择了其中插入数据的分支来具体描述其算法,并比较链表和顺序表的操作上的不同:
do{
第 1 页 共 3 页
coutlt;lt;quot;\n请输入您需要插入的节点位置
(0lt;numberlt;=quot;lt;lt;c+1lt;lt;quot;):quot;;
cingt;gt;number; coutlt;lt;quot;插入的数据:quot;;
if(numberlt;0||numbergt;l+1){coutlt;lt;quot;输入错误!quot;lt;lt;endl;break;
cingt;gt;date;
ListInsert(L,number,date); coutlt;lt;quot;\n是否需要继续插入?\nquot;; coutlt;lt;quot; 1.是0.否quot;lt;lt;endl; coutlt;lt;quot;请选择:quot;; cingt;
文档评论(0)