数据结构 集合的并、交和差运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二:集合的并、交和差运算
题目:集合的并、交和差运算
基本功能
编制一个能演示执行集合的并、交和差运算的程序。
基本要求:
(1)集合的元素限定为小写字母字符[‘a’…‘z’];
(2)演示程序以用户和计算机的对话方式执行。
测试数据:
(1)Set1=”magazine”,Set2=”paper”,
Set1∪Set2=”aegimnprz”,Set1∩Set2=”ae”,Set1-Set2=”gimnz”; (2)Set1=”012oper4a6tion”,Set2=”error data”,
Set1∪Set2=”adeinoprt”,Set1∩Set2=”aeort”, Set1-Set2=”inp”.
算法思想:
设有集合Set1、Set2,Set1与BSet2的交集为Set1∩Set2。Set1∩Set2指既属于集合Set1又属于集合BSet2的元素。因为要求另外申请存储空间,可另找一个新的集合Set1∩Set2中存储A和B共同的元素。问题即变为求找Set1和Set2中的共同思想。于是算法思想为:以Set1为标准,对Set2进行遍历,把Set2中和Set1相同的元素存储到Set1∩Set2中。为方便操作,链表需要设置头结点。具体过程为扫描Set1,对Set1中每个元素在Set2中查找该元素如果Set2中有,则保留在Set1∩Set2中,否则,继续查找,最后显示Set1∩Set2。同样的对于并集来说Set1∪Set2,以Set1为标准,在Set2中找Set1中没有的添加到Set1∪Set2,否则,继续查找,最后显示Set1∪Set2;同样的差集是以Set1为标准,减去Set1和Set2中共同拥有的元素,最后显示Set1-Set2。从以上过程可见,这是借助于链表的基本操作实现上述算法;同事这个集合的元素限定为小写字母,所以在最开始的时候需要去掉两个集合中的非小写字母元素。
模块划分:
数据结构:
源程序:
序设计正确。