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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

集合的运算课程设计报告.docx

1、集合的运算课程设计报告学号2015-2016学年 第二学期1508020118高级语言程序设计课程设计报告题目:集合的运算专业:网络工程班级:15(1)姓名:邱敏指导教师:代美丽成绩:计算机学院2016年4月22日一、需求分析 11、程序的实现 1(1)功能 1(2)实施 12、设计的要求 1二、概要设计 11、问题分析 12、模块结构 2(1)结构分析 2(2)结构分析图 2三、详细设计 31、解题思路 3(1)数据结构设计 3(2)逻辑结构存储结构 32、算法设计 3四、调试分析和测试结果 41、模块分析 4(1)定义单链表结点类型 4(2)运用尾插法建立单链表 4(3)建立有序链表 52

2、、结果分析 5五、总结 61、解决的问题 6(1)集合的运算算法 6(2)解决方式 72、心得体会 7六、参考文献(资料不得少于5篇) 7七、致谢 7八、附录(含程序源码) 8一、需求分析1、程序的实现(1)功能使用链表来表示集合,完成集合的合并,求交集等操作。 (2)实施1) 初步完成总体设计,搭好框架,确定函数个数;2) 完成最低要求;3) 继续完成进一步要求。2、设计的要求(1) 界面友好,函数功能要划分好;(2) 总体设计应画流程图;(3) 程序要加必要的注释;(4) 要提供程序测试方案;(5) 程序要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。二、概要设计

3、1、问题分析该问题主要实现以下功能:(1) 利用尾插法建立单链表;(2) 对于输入的链表进行有序排列(3) 删除有序链表中不符合要求的元素(4) 调用函数对单链表进行交、并运算并输出 2、模块结构(1)结构分析程序以用户和计算机的对话方式执行,即在计算及终端显示提示信息之后,由用户在键盘输入演示程序中规定的运算命令;相应的输入数据(过滤输入中的非法字符)和运算结果闲时间在其后。系统由以下几个模块组成,分别是:1) 单链表的建立2) 单链表的有序排列3) 删除单链表中不符合条件的元素4) 集合交集5) 集合并集6) 单链表输出7) 主函数 (2)结构分析图三、详细设计1、解题思路(1)数据结构设

4、计创建三个带头结点的单链表,用来存储两个集合中的元素和最终的结果,为实现集合的交、并运算功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。(2)逻辑结构存储结构逻辑结构:创造一个带结点的单链表包括(头结点L、结点若干、尾结点);单链表中每个结点包括(*next表示指针data表示域) 2、算法设计程序执行的命令包括:(1) 定义单链表结点类型typedef struct LNode (2) 运用尾插法建立单链表void CreatListR(LinkList *&L,ElemType a,int n)(3) 创建头结点,为头结点分配空间(4) 创建新结点(5) 建立有序链表

5、void Sort(LinkList *&head)(6) 将两个集合的元素进行比较 while语句(7) 删除有序链表中的重复元素void shanchu(LinkList *&head)(8) 求交集 void jiao(struct Lnode *L1,struct Lnode *L2,struct Lnode *L3)(9) 求并集 void bing(struct Lnode * L1,struct Lnode *L2,struct Lnode *L3)(10) 输出单链表void Display(LinkList *L)四、调试分析和测试结果1、模块分析(1)定义单链表结点类型ty

6、pedef struct LNode ElemType data;struct LNode *next; LinkList;(2)运用尾插法建立单链表void CreatListR(LinkList*&L,ElemType a,int n) LinkList *s,*r;int I;L=( LinkList *)malloc(sizeof(LinkList); /创建并为头结点分配空间L-next=NULL;r=L;for(i=0;idata=ai;r-next=s;r=s;r-next=NULL; /尾结点指向空(3)建立有序链表void Sort(LinkList *&head) Link

7、List *p=head-next,*q,*r; if(p!=NULL) r=p-next;p-next=NULL; p=r;while(p!=NULL)/后续元素与第一个元素进行比较 r=p-next; q=head; while(q-next!=NULL&q-next-datadata) q=q-next; p-next=q-next; q-next=p; p=r; 2、结果分析选择数字1,进行排序输出;选择数字2,输出集合1与集合2的交集;选择数字3,输出集合1与集合2的并集。可以看出,该程序成功是实现了集合的排序和两个集合的交集运算,而两个集合的并集运算显然还存在问题,在以后的学习与操

8、作中,我们要更加注重程序的运行,尽量做到零问题出现。五、总结1、解决的问题(1)集合的运算算法由于对集合的两种运算的算法推敲不足,在链表类型及其尾指针的设置时出现错误,导致程序低效。 刚开始时曾忽略了一些变量参数的标识”&”,使调试程序浪费时间不少。今后应重视确定参数的变量和赋值属性的区分和标识。(2)解决方式开始时输入集合后,程序只能进行一次运算,后来加入switch语句,成功解决了这一难题。 本程序的模块划分比较合理,且尽可能的将指针的操作封装在节点和链表的两个模块中,致使集合模块的调试比较顺利。2、心得体会通过实践才发现程序设计的掌握直接关系到上机实验效果。对各个知识点的熟练掌握是在课程

9、中理解理论算法和完成上机实验的重要保证。本课程设计采用数据抽象的程序设计方案,将程序化分为四个层次结构,使得设计时思路清晰,实现时调试顺利,各模块具有较好的可用性,确实得到了一次良好的程序设计训练。六、参考文献(资料不得少于5篇)1 催俊凯。计算机软件基础。机械工业出版社。2007.7 2 唐发根。数据结构教程(第二版)。北京航空航天大学出版社。2005.5.3 严尉敏,吴伟民.数据结构(C语言版)M.清华大学出版社,2011年11月4 谭浩强。C程序设计(第三版)。清华大学出版社。2005.5 李建学,李光元,吴春芳。数据结构课程设计案例精编(用C/C+描述)。北京:清华大学出版社。2007

10、.26 王宏生,宋继红。数据结构。北京:国防工业出版社,2006.1七、致谢感谢辅导我们的老师在这个学期细心耐心的指导我们的基础课学习,为我们的课程设计打下良好的基础。在这次课程设计中,代老师给我很多的指导和帮助,让我能够使程序正常运行且实现实验的要求。八、附录(含程序源码)#include #include using namespace std; typedef char ElemType; typedef struct LNode/定义单链表结点类型 ElemType data; struct LNode *next; LinkList; void CreatListR(LinkList *&L,ElemType a,int n) /运用尾插法建立单链表 LinkList *s,*r;int i;L=(LinkList *)malloc(sizeof(LinkList); /创建头结点,为头结点分配空间 L-next=NULL; r=L; /r先指向头结点后指向尾结点,开始时指针指向头结点 for(i=0;idata=ai;

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

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