数据结构课程设计_集合的并、交和差运算概述

数据结构课程设计_集合的并、交和差运算概述

ID:13611635

大小:282.50 KB

页数:18页

时间:2018-07-23

数据结构课程设计_集合的并、交和差运算概述_第1页
数据结构课程设计_集合的并、交和差运算概述_第2页
数据结构课程设计_集合的并、交和差运算概述_第3页
数据结构课程设计_集合的并、交和差运算概述_第4页
数据结构课程设计_集合的并、交和差运算概述_第5页
资源描述:

《数据结构课程设计_集合的并、交和差运算概述》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构课程设计报告设计题目:专业计算机科学与技术班级计091学生张楠学号3090911020指导教师起止时间2011.7.4~2011.7.922011年夏季学期目录1.实验内容实验题目:编制一个演示集合的并、交运算的程序。题目:集合运算功能:使用链表来表示集合,完成集合的合并,求交集等操作。分步实施:1.初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2.完成最低要求:3.进一步要求:要求:1)界面友好,函数功能要划分好2)总体设计应画一流程图3)程序要加必要的注释4)要提供程序测试方案1)程序一定要经得起测试,宁可功

2、能少一些,也要能运行起来,不能运行的程序是没有价值的。需求分析:1、 本演示程序中,集合的元素限定为整形数据。集合输入的形式为一个以“0“为结束标志。2、 演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息“之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和运算结果显示在其后。3、 程序执行的命令包括:1) 构造集合1;2)构造在集合2;3)求并集;4)求交集;5)求差集;6)返回;7)结束。“构造集合1”和“构造集合2”时,需以整形的形式键入集合元素。二、数据结构设计及流程图为了实现上述程序的功能,应

3、以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。1、有序表的抽象数据类型定义为:input(linklistl)初始条件:l是以l为头节点的空链表。操作结果:生成以l为头节点的非空链表。output(linklistl)初始条件:l是以l为头节点的非空链表。操作结果:将以l为头节点的链表中数据逐个输出。2、集合的抽象数据类型定义为:heji(linklistA,linklistB,linklistC)初始条件:链表A、B、C已存在操作结果:生成一个由A和B的并集构成的集合C。jiaoji(linklistA,linklis

4、tB,linklist,C)初始条件:链表A、B、C已存在操作结果:生成一个由A和B的交集构成的集合C。3、本程序抱含四个模块:1) 节点结构单元模块——定义有序表的节点结构;2) 有序表单元模块——实现有序表的抽象数据类型;3) 集合单元模块——实现集合获得抽象数据类型;4)主程序模块:Voidmain(){初始化;do{接受命令;处理命令;}while(“命令”!=“退出”);}流程图三、源程序#include#include#include#include

5、typedefstructnode{intdata;structnode*next;}lnode,*linklist;lnode*init_lnode();voidinput(linklistl);voidjiaoji(linklistA,linklistB,linklistC);voidheji(linklistA,linklistB,linklistC);voidoutput(linklistl);voidmain(){lnode*a,*b,*c;a=init_lnode();b=init_lnode();c=init_lnode(

6、);printf("求AB集合的交集和并集");printf("请输入A集合的元素:");input(a);printf("请输入B集合的元素:");input(b);printf("输入完成");printf("按任意键进入主菜单:");getch();do{charmenu[]={"-----☆1.交集运算☆---------""---------☆2和集运算☆---------""---------☆3.差集运算☆---------""---------☆0.退出☆-----

7、----"};printf("%s",menu);printf("请在0-3中选择:");scanf("%d",&sel);switch(sel){case1:printf("AB集合的交集是:");jiaoji(A,B,C);output(C);C->next=NULL;break;case2:printf("AB的合集是:");heji(A,B,C);output(C);C->next=NULL;break;case3:chaji(A,B,C);break;case0:break;}}while(sel!=0);}/*主

8、函数结束*//**********初始化函数***************/lnode*init_lnode(){lnode*l;l=(lnode*)malloc(sizeof(lnode));l->nex

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

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

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