题目描述
思路:两个集合相当于两个线性表,所以本题是要操作两个线性表取之交集和并集
首先我们要创建两个线性表,可以放在一个class里 代码如下:
class SeqList
{
public:
//构造函数
SeqList()
{
int Alength = 0;
int Blength = 0;
int A[10] = {0};
int B[10] = {0};
}
//保存数据
void SaveA(int n);
void SaveB(int n);
//并集
void Union();
//交集
void Intersection();
private:
int A[10];
int B[10];
int Alength;
int Blength;
};
A和B数组为两个集合length为它们的长度
第一个算法 并集运算(Union)
并集运算我们可以想象成先把某一个集合直接输出,再用另一个集合的元素跟第一个集合进行比对,并循环完整个数组且没找到该元素则输出 代码如下:
void SeqList::Union()
{
int i;
int k;
int j = 0;
for(i = 0; i < Alength; i++)
{