数据结构课程设计--集合运算

数据结构课程设计--集合运算

ID:35625218

大小:273.00 KB

页数:15页

时间:2019-04-03

数据结构课程设计--集合运算_第1页
数据结构课程设计--集合运算_第2页
数据结构课程设计--集合运算_第3页
数据结构课程设计--集合运算_第4页
数据结构课程设计--集合运算_第5页
资源描述:

《数据结构课程设计--集合运算》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、计算机系信管专业数据结构课程设计题目:集合运算班级:姓名:学号:同组人姓名:起迄日期:2012-12-24—2012-12-28课程设计地点:E3-A512              指导教师:评阅意见:成绩评定:评阅人:日期:完成日期:2012年12月28日15目录一、需求分析31、程序的实现3(1)功能3(2)实施32、设计的要求3二、概要设计31、问题分析32、模块结构4(1)结构分析4(2)结构分析图4三、详细设计51、解题思路5(1)数据结构设计5(2)逻辑结构存储结构52、算法设计5四、调试分析和测试结果6

2、1、模块分析6(1)定义单链表结点类型6(2)运用尾插法建立单链表6(3)建立有序链表62、结果分析7五、总结81、解决的问题8(1)集合的运算算法8(2)解决方式82、心得体会9六、参考文献(资料不得少于5篇)9七、致谢9八、附录(含程序源码)915一、需求分析1、程序的实现(1)功能使用链表来表示集合,完成集合的合并,求交集等操作。(2)实施1)初步完成总体设计,搭好框架,确定函数个数;2)完成最低要求;3)继续完成进一步要求。2、设计的要求(1)界面友好,函数功能要划分好;(2)总体设计应画流程图;(3)程序要加

3、必要的注释;(4)要提供程序测试方案;(5)程序要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。二、概要设计1、问题分析该问题主要实现以下功能:(1)利用尾插法建立单链表;(2)对于输入的链表进行有序排列(3)删除有序链表中不符合要求的元素(4)调用函数对单链表进行交、并运算并输出152、模块结构(1)结构分析程序以用户和计算机的对话方式执行,即在计算及终端显示提示信息之后,由用户在键盘输入演示程序中规定的运算命令;相应的输入数据(过滤输入中的非法字符)和运算结果闲时间在其后。系统由以下几个模

4、块组成,分别是:1)单链表的建立2)单链表的有序排列3)删除单链表中不符合条件的元素4)集合交集5)集合并集6)单链表输出7)主函数(2)结构分析图主函数main()创建链表LinkList*求交集voidjiao()求并集voidbing()单链表结点类型typedefstructLNode比较并保存相同元素while语句删除重复的元素voidshangchu()15三、详细设计1、解题思路(1)数据结构设计创建三个带头结点的单链表,用来存储两个集合中的元素和最终的结果,为实现集合的交、并运算功能,应以有序链表表示集

5、合。为此,需要两个抽象数据类型:有序表和集合。(2)逻辑结构存储结构逻辑结构:创造一个带结点的单链表包括(头结点L、结点若干、尾结点);单链表中每个结点包括(*next表示指针data表示域)2、算法设计程序执行的命令包括:(1)定义单链表结点类型typedefstructLNode(2)运用尾插法建立单链表voidCreatListR(LinkList*&L,ElemTypea[],intn)(3)创建头结点,为头结点分配空间(4)创建新结点(5)建立有序链表voidSort(LinkList*&head)(6)将两

6、个集合的元素进行比较while语句(7)删除有序链表中的重复元素voidshanchu(LinkList*&head)(8)求交集voidjiao(structLnode**L1,structLnode**L2,structLnode**L3)(9)求并集voidbing(structLnode**L1,structLnode**L2,structLnode**L3)(10)输出单链表voidDisplay(LinkList*L)15四、调试分析和测试结果1、模块分析(1)定义单链表结点类型typedefstructL

7、Node{ElemTypedata;structLNode*next;}LinkList;(2)运用尾插法建立单链表voidCreatListR(LinkList*&L,ElemTypea[],intn){LinkList*s,*r;intI;L=(LinkList*)malloc(sizeof(LinkList));//创建并为头结点分配空间L->next=NULL;r=L;for(i=0;idata=a[

8、i];r->next=s;r=s;}r->next=NULL;//尾结点指向空(3)建立有序链表voidSort(LinkList*&head){LinkList*p=head->next,*q,*r;if(p!=NULL)15{r=p->next;p->next=NULL;p=r;while(p!=NULL)//后续元素与第一个

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

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

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