- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构集合的并、交和差运算
课 程 设 计 报 告
课程名称 数据结构
课题名称 集合的并、交和差运算
专 业 通信工程
班 级 通信1101
学 号 7
姓 名 皮锋
指导教师 张鏖烽 田娟秀 李杰君
2013 年6月29日
湖南工程学院
课 程 设 计 任 务 书
课程名称 数据结构
课 题 集合的并、交和差运算
专业班级 通信1101
学生姓名 皮锋
学 号 7
指导老师 张鏖烽 田娟秀 李杰君
审 批
任务书下达日期 2013 年 6 月 23 日
任 务 完成日期 2013 年 6 月 29 日
目录
1. 需求分析 1
1.1. 问题描述 1
1.2. 基本要求 1
测试数据 1
实现提示 1
2. 概要设计 1
2.1. 有序表的抽象数据类型定义为 1
2.2. 集合的定义为 1
2.3. 基本操作 2
2.4. 调用关系 2
3. 详细设计 4
3.1. 具体算法流程 4
3.2. 具体的程序功能实现 4
3.3. 伪码算法 5
4. 调试分析 9
4.1. 调试过程中遇到的问题 9
4.2. 算法的时空分析 9
5. 用户使用说明 10
6. 测试结果 11
6.1. 做完一次运算后按回车键继续下一次运算 11
6.2. 做完运算后输入字母“e”退出运算 12
7. 总结 12
8. 附录 13
8.1. 程序源代码 13
集合的并、交和差运算
需求分析
问题描述
编制一个能演示执行集合的并、交和差运算的程序。
基本要求
(1) 集合的元素限定为小写字母字符 [‘’..’z’] 。
(2) 演示程序以用户和计算机的对话方式执行。
测试数据
(1)Set1=agazine,Set2=paper,
SetSet2=aegimnprz,Setlet2=ae,Set1-Set2=。
(2)Set1= 12oper4a6tion89,Set2=,
SetSet2=adeinoprt,Setlet2=aeort,Set1-Set2=。
实现提示
以有序链表表示集合。
图3-1 具体算法流程
具体的程序功能实现
(1)利用c++引用类型,对线性表LinkList *L,*N
进行初始化,并用for循环将将集合set1[maxsize],set2[maxsize]分别存入线性表L和 K。
(2)用sort()函数对两个线性表里的元素进行排序,得到两个有序表。
(3)用dels()函数分别删除两个有序表里相同元素,仅留一个。
(4)用函数bingji(L,N,M)合并两个有序表,得到有序表M,并再次调用函数dels(M)删除有序表里相同的元素,仅留下一个,从而得到集合的并集。
(5)调用函数jiaoji(M,L,N),进行交集运算,从而得到一个新的有序表M,存着两个集合的交集。
(6)利用交集运算得到的结果M进行集合差运算,调用函数chayunsuan(U,M,K),得到两个集合差集为有序表K。
(7)调用函数DispList()输出并集,交集和差集的结果。
(8) 用代码
char n;
printf(\n是否退出运算?\n);
scanf(%c,n);
if(n==e)
exit(0);
判断是否进行下一次运输,如果进行下一次运算按回车键继续,否则输入字母“e”退出运算。
(9)最后利用函数DestroyList()销毁所有线性表。
(10)加上头文件#include windows.h 和语句system(color B5)对界面进行颜色设置,得到自己喜欢的颜色。
伪码算法
(1)并集运算
void bingji(LinkList *L,LinkList *N,LinkList *M) //并集运算
{
LinkList *pa=L-next,*pb=N-next,*r,*s; //时归并算法
M=(LinkList *)malloc(sizeof(LinkList));
r=M;
while(pa!=NULLpb!=NULL) //集合合并
{
if(pa-datapb-da
您可能关注的文档
最近下载
- 2024-2025年数学选择性必修第一册共线向量与共面向量同步检测 2(带答案).docx VIP
- 数据治理概论课件:数据治理工具.pptx VIP
- 08J907 洁净厂房建筑构造.pdf VIP
- 04G323-2 图集钢筋混凝土吊车梁(工作级别A4、A5).pdf VIP
- 全国优质课一等奖统编版语文八年级上册唐诗五首《野望》《黄鹤楼》《使至塞上》《渡荆门送别》《钱塘湖春行》公开课课件.pptx
- 幼儿高热惊厥的急救处理.pptx VIP
- 惯性器件原理课件.pptx VIP
- 新版建设工程工程量清单计价标准解读.pptx VIP
- 危大工程专项施工方案.doc VIP
- 莫桑比克考察报告.pdf VIP
文档评论(0)