- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计_集合的并交和差运算
数据结构
课程设计报告
设计题目:
专 业 计算机科学与技术
班 级 计091
学 生 张楠
学 号 3090911020
指导教师
起止时间 2011.7.4~2011.7.9
22011 年 夏季 学期
目录
1.实验内容
实验题目:编制一个演示集合的并、交运算的程序。
题目: 集合运算
功能: 使用链表来表示集合,完成集合的合并,求交集等操作。
分步实施:
初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;
完成最低要求:
进一步要求:
要求:1)界面友好,函数功能要划分好
2)总体设计应画一流程图
3)程序要加必要的注释
4)要提供程序测试方案
程序一定要经得起测试,宁可功能少一些,也要能运行起来,不能运行的程序是没有价值的。
需求分析:
1、? 本演示程序中,集合的元素限定为整形数据。集合输入的形式为一个以“0“为结束标志。
2、? 演示程序以用户和计算机的对话方式执行,即在计算机终端上显示“提示信息“之后,由用户在键盘上输入演示程序中规定的运算命令;相应的输入数据和运算结果显示在其后。
3、? 程序执行的命令包括:
1)? 构造集合1;2)构造在集合2;3)求并集;4)求交集;5)求差集;6)返回;7)结束。“构造集合1”和“构造集合2”时,需以整形的形式键入集合元素。
二、数据结构设计及流程图
为了实现上述程序的功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合。
1、有序表的抽象数据类型定义为:
input(linklist l)
初始条件:l是以l为头节点的空链表。
操作结果:生成以l为头节点的非空链表。
output(linklist l)
初始条件:l是以l为头节点的非空链表。
操作结果:将以l为头节点的链表中数据逐个输出。
2、集合的抽象数据类型定义为:
heji(linklist A,linklist B,linklist C)
初始条件:链表A、B、C已存在
操作结果:生成一个由A和B的并集构成的集合C。
jiaoji(linklist A,linklist B ,linklist ,C)
初始条件:链表A、B、C已存在
操作结果:生成一个由A和B的交集构成的集合C。
3、本程序抱含四个模块:
1)? 节点结构单元模块——定义有序表的节点结构;
2)? 有序表单元模块——实现有序表的抽象数据类型;
3)? 集合单元模块——实现集合获得抽象数据类型;
4)主程序模块:
Void main(){
初始化;
do{
接受命令;
处理命令;
}while(“命令”!=“退出”);
}
流程图
三、源程序
# includestdio.h
#includestring.h
#includestdlib.h
#includeconio.h
typedef struct node
{
int data;
struct node* next;
}lnode,*linklist;
lnode *init_lnode();
void input(linklist l);
void jiaoji(linklist A,linklist B,linklist C);
void heji(linklist A,linklist B,linklist C);
void output(linklist l);
void main()
{
lnode *a,*b,*c;
a=init_lnode();
b=init_lnode();
c=init_lnode();
printf(求AB集合的交集和并集\n);
printf(请输入A集合的元素:);
input(a);
printf(\n请输入B集合的元素:);
input(b);
pri
您可能关注的文档
最近下载
- 人流健康宣教ppt课件.pptx VIP
- 国开一网一 电子商务概论 实践任务(B2B电子商务网站调研报告).doc
- 工厂电工班安全培训课件.pptx VIP
- 《干粉灭火装置技术规程》CECS322:2012.docx
- (一诊)绵阳市2023级高三第一次诊断考试物理试卷A卷(含答案).docx
- 正和岛入岛申请表(更新版20141022).docx VIP
- 第二单元(知识清单)-2023-2024学年四年级语文上册单元速记·巧练(统编版).docx VIP
- DL_T 793.7-2022 发电设备可靠性评价规程 第7部分:光伏发电设备.docx VIP
- 整理超级个人简历模板(修改完后别忘了生成pdf再打印).doc VIP
- 2024智慧仓储解决方案[48页PPT].pptx VIP
原创力文档


文档评论(0)