数据结构课程设计集合的并、交和差运算资料

数据结构课程设计集合的并、交和差运算资料

ID:42012921

大小:88.50 KB

页数:13页

时间:2019-09-06

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

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

1、一、课程题目集合的并、交和差运算二、问题描述功能:编制一个能演示执行集合的并、交和差运算的程序。三、基本要求1)集合的元素限定为小写字母字符【‘a’..‘z’】2)演示程序以用户和计算机的对话方式执行。四、测试数据(1)Set1=”magazine”,Set2=’paper”,Set1∪Set2=”aegimnprz”,Set1∩Set2=”ae”,Set1-Set2=”gimnz”;(2)Set1=”012oper4a6tion89”,Set2=”errordata”,Set1∪Set2=”adeinoprt”,Set1∩Set2=”aeort”,Set1-Set2=”

2、inp”.五、算法思想为了实现上述程序的功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。1、有序表的抽象数据类型定义为:input(linklistl)初始条件:l是以l为头节点的空链表。操作结果:生成以l为头节点的非空链表。output(linklistl)初始条件:l是以l为头节点的非空链表。操作结果:将以l为头节点的链表中数据逐个输出。2、集合的抽象数据类型定义为:heji(linklistA,linklistB,linklistC)初始条件:链表A、B、C已存在操作结果:生成一个由A和B的并集构成的集合C。jiaoji(linklistA,l

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

4、ctnode{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();printf("求AB集合的交集和并集");pri

5、ntf("请输入A集合的元素:");input(a);printf("请输入B集合的元素:");input(b);printf("输入完成");printf("按任意键进入主菜单:");getch();do{charmenu[]={"-----☆1.交集运算☆---------""---------☆2和集运算☆---------""---------☆3.差集运算☆---------""---------☆0.退出☆---------"};printf("%s",menu);printf("请在0-3中选择

6、:");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);}/*主函数结束*//**********初始化函数***************/lnode*init_lnode(){lnode*l;

7、l=(lnode*)malloc(sizeof(lnode));l->next=NULL;returnl;}/***************录入函数********************/voidinput(linklistl){lnode*s;intx;scanf("%d",&x);while(x!=0){s=(lnode*)malloc(sizeof(lnode));s->data=x;s->next=l->next;l->next=s;scanf("%d",&x);}}/************交集函数********

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

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

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