数据结构课程设计-双向链表的操作

数据结构课程设计-双向链表的操作

ID:6789154

大小:140.50 KB

页数:8页

时间:2018-01-25

数据结构课程设计-双向链表的操作_第1页
数据结构课程设计-双向链表的操作_第2页
数据结构课程设计-双向链表的操作_第3页
数据结构课程设计-双向链表的操作_第4页
数据结构课程设计-双向链表的操作_第5页
资源描述:

《数据结构课程设计-双向链表的操作》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、安徽省巢湖学院计算机与信息工程学院课程设计报告课程名称《数据结构》课题名称双向链表专业计算机科学与技术班级10计本2班学号姓名联系方式指导教师2011年12月29日目录1、数据结构课程设计任务书11.1、题目11.2、要求12、总体设计12.1、功能模块设计12.2、所有功能模块的流程图13、详细设计13.1、程序中所采用的数据结构及存储结构的说明13.2、算法的设计思想23.3、稀疏矩阵各种运算的性质变换24、调试与测试:24.1、调试方法与步骤:24.2、测试结果的分析与讨论:34.3、测试过程中遇到的主要问题及采取的解决措施:35、时间复杂度的分析:46、源程序清单和执行结果47、C程序

2、设计总结88、致谢89、参考文献81、数据结构课程设计任务书1.1、题目双向链表的操作1.2、要求1.建立双向链表L,含n个结点且按整数值递增排列的(输入任意);2.删除双向链表中多余的值相同的元素3.求出的长度4.将双向链表就地逆置5.向双向链表中插入值,插入后双向链表仍有序2、总体设计2.1、功能模块设计根据课程设计题目的功能要求,各个功能模块的组成框图如下:输入矩阵1任意输入建立双向链表——>排序删除相同元素——>输出当前列表和长度————>插入——>删除相同元素——>输出当前列表和长度——>逆置并输出3、详细设计模块功能说明:如函数功能、入口及出口参数说明,函数调用关系描述等;3.1、

3、程序中所采用的数据结构及存储结构的说明为单向链表增加一个指向前趋的指针,则可以构成双向链表//-----------双向链表存储表示-------------typedefstructlnode{intdata;structlnode*next,*prior;//设置分别指向前后的指针}Lnode,*Linklist;在此,节点Inode中有两个指针域,其一指向直接后继,另一指向直接前趋。3.2、算法的设计思想a)双向链表创建创建头结点,通过插入,实现有序排列。b)插入插入时指向头结点先进行数据域的大小比较,在符合条件前向后依次比较,然后插入时先将其指针分别指向前趋和后继,再将其前趋的next

4、,和后继的prior指向该节点 c)删除相同元素遍历链表,相同时删除节点,并判断是否是尾节点。d)求长度输出当前链表的l头节点记录的表长。e)逆置第6页指向最后一个节点,将其重新定义为头结点,从后往前逆置各节点。4、调试与测试:4.1、调试方法与步骤:第一步:随机输入创建双向链表;第二步:通过删除操作完成其创建,并输出;第三步:求出长度,插入输出;第四步:逆置并输出。4.2、测试结果的分析与讨论:(测试要写出测试用例及每个用例结果的的截图)5、时间复杂度的分析:时间复杂度为O。6、源程序清单和执行结果#includeusingnamespacestd;typedefstru

5、ctlnode{intdata;structlnode*next,*prior;}Lnode,*Linklist;voidCreate_Link(Linklist&l);//创建有序双向链表voidInsert_Link(Linklist&l,intx);//插入x到链表lvoidShow_Link(constLinklist&l);//显示链表第6页intLength_Link(constLinklist&l){returnl->data;};//返回链表长voidReverse_Link(Linklist&l);//逆置链表voidDelete_Same_Link(Linklist&l);

6、//删除相同元素intmain(){Linklisth;cout<<"输入链表中的元素<字母表示结束>:";Create_Link(h);//创建有序双向链表cout<<"创建的链表为:";Show_Link(h);cout<<"链表长度为:"<:";intx;while(cin>>x){Insert_Link(h,x);//插入元素到链表cout<<"当前链表为:";Show_Link(h);cout<<"当前链表长度为:"<

7、的数<每次输入一个数字,按字母表示退出>:";}cout<<"将链表逆置后为:";Reverse_Link(h);//逆置链表Show_Link(h);Delete_Same_Link(h);//删除相同元素cout<<"删除链表中相同的元素后链表为:";Show_Link(h);cout<<"当前链表长度为:"<

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。