集合的并、交和差运算.doc

集合的并、交和差运算.doc

ID:61508906

大小:283.50 KB

页数:13页

时间:2021-02-08

集合的并、交和差运算.doc_第1页
集合的并、交和差运算.doc_第2页
集合的并、交和差运算.doc_第3页
集合的并、交和差运算.doc_第4页
集合的并、交和差运算.doc_第5页
资源描述:

《集合的并、交和差运算.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验报告题目:集合的并、交和差运算班级:班姓名:学号:1.需求分析设计一个程序,要求实现集合的并、交和差运算(1)输入的形式为字符型或者整型,输入的范围:小写字母字符。输出的形式:字符型或者整型。(2)程序所能达到的功能:实现集合的并、交和差运算(3)测试数据:正确:set1=”magazine”,set2=”paper”set1∪set2=”aegimnprz”,set1∩set2=”ae”,set1-set2=”gimnz”。错误:set1=”012oper4a6tion89”,set2=”errordata”set∪set2=”adeinoprt”,set1∩set2=”a

2、eort”,set1-set2=”inp”。2.概要设计为实现上述程序功能,应以有序链表表示集合。为此,需要两个抽象数据类型:有序表和集合(1)有序表的抽象数据类型定义为:ADTOrderedList{数据对象:D={ai丨ai∈CharSet,i=1,2,…,n>=o}数据关系:R1={丨ai-1,ai∈D,ai-1

3、数据类型定义为:ADTSet{数据对象:D={ai丨ai为小写英文字母且互不相同,i=1,2,…,n,0<=n<=26}数据关系:R1={}基本操作:CreatSet(&T,Str)//生成集合TDestroySet(&T)//销毁集合T的结构。等。各程序模块之间用for循环和while语句来实现调用。1.调试分析:调试过程中遇到的一些问题是通过网络查询,咨询老师等来解决。通过这次实验,懂得了如何生成一个集合,并用有序链表的方式来实现。我觉得,让我们来做这些实验好像真的有点困难。1.本程序的模块划分比较合理,且尽可能的将指针的操作封装在结点和链表的两个模块中,致使集合模块的调试比

4、较成功。   2.将数据存入数组再转入链表,可以忽略输入集合的长度,设计更加巧妙,便于用户使用。   3.采用数据抽象的程序设计方法,将程序划分为两个次:元素结点、有序链表,使得设计思路清晰,实现时调试顺利,各模块具有较好的可重复性,确实得到了一次良好的程序设计训练。1.用户使用说明本程序的运行环境为DOS操作系统,可执行文件为:集合的并交差运算.exe 2.测试结果1.附录:#include#includeusingnamespacestd;#ifdefUSE_INT#defineMYTYPEint#else#defineMYTYPEchar#e

5、ndifboolIsElementInList(listaSet,MYTYPEiElement)//查看一个元素是否在集合中{list::iteratoriter;for(iter=aSet.begin();iter!=aSet.end();iter++){if(*iter==iElement){returntrue;}}returnfalse;}voidTrim(list&aSet)//去除集合中的重复元素{listnewSet;list::iteratoriter;for(iter=aSet.be

6、gin();iter!=aSet.end();iter++){if(!IsElementInList(newSet,*iter)){newSet.push_back(*iter);}}aSet=newSet;}voidfunc1(listset1,listset2)//并{listnewSet=set1;list::iteratoriter;for(iter=set2.begin();iter!=set2.end();iter++){if(IsElementInList(newSet,*iter)){continue

7、;}else{newSet.push_back(*iter);}}Trim(newSet);newSet.sort();cout<<"集合的并操作结果是:"<set1,listset2)//交{listne

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

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

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