设计一个集合数据类型,并用线性表实现集合的基本操作(集合的交、并和差)要求从键盘输入操作类型。

来源:百度知道 编辑:UC知道 时间:2024/07/08 03:53:51
要在VC的编译环境下通过,把.h文件,和.cpp文件都写出来

测试数据:
S1={5,8,78,69,21,10}
S2={8,75,88,32,21,76,45,69}

终于做好啦!下面有几点需要说明:
1、这个程序只能处理不超过100个数的集合;
2、同一集合中不能有相同元素出现,差运算只求s1-s2;
3、输入格式中,“-1”被当作结束标志,不是有效的数字,当然有必要的话可以改成其他数值;
4、程序是循环进行的,想结束的话直接关掉Dos窗口。

VC下我已经编译测试过,只需新建一个“Win32 Console Application”工程,控制台程序选择“一个简单程序”,然后用下面程序覆盖掉原来的主函数,原来的头文件#include "stdafx.h"不能动,不然会抱错。测试数据的过程是:
输入集合s1的元素(输入一个回车一下,-1表示结束):
5
8
78
69
21
10
-1
输入集合s2的元素(输入一个回车一下,-1表示结束):
8
75
88
32
21
76
45
69
-1
选择s1和s2的操作类型:1、交(s1 n s2),2、并(s1 U s2),3、差(s1 - s2)
输入对应的数字,然后回车):1
s1和s2求交运算的结果:8 69 21

选择s1和s2的操作类型:1、交(s1 n s2),2、并(s1 U s2),3、差(s1 - s2)
输入对应的数字,然后回车):2
s1和s2求并运算的结果:57 78 10 8 75 88 32 21 76 45 69

选择s1和s2的操作类型:1、交(s1 n s2),2、并(s1 U s2),3、差(s1 - s2)
输入对应的数字,然后回车):3
s1和s2求差运算的结果:5 78 10

附程序:
/////////////////////////////////////
#include<stdio.h>
#include<stdlib.h>
typedef struct node
{<