6-12 编写函数实现A∪B的集合运算 分数 10 作者 李军 单位 陕西理工大学 设A、B是两个整数集合,每个集合中的元素数均在100以内。这里要求编写一个函数来实现A∪B的集合运算,运算结果存放在集合C中(集合C中的元素有可能突破100). 函数接口定义: 函数的接口如下: void Union(int *A,int *B,int*C,int Asize,int Bsize,int *Csize) 在接口参数中A,B和C是指向三个集合的指针,Asize,Bsize和Csize分别表示集合A,B和C中
时间: 2023-06-11 08:08:37 浏览: 303
元素的数量。函数返回值为void,无需返回任何值。
函数的实现思路:
1. 将集合A中的元素全部复制到集合C中。
2. 遍历集合B中的元素,若该元素不在集合C中,则将其加入集合C中。
3. 最后更新集合C的元素数量Csize。
以下为函数实现代码:
```c
void Union(int *A, int *B, int *C, int Asize, int Bsize, int *Csize)
{
//将集合A中的元素全部复制到集合C中
for(int i=0; i<Asize; i++)
{
C[i] = A[i];
}
*Csize = Asize; //初始化集合C的元素数量为集合A的元素数量
//遍历集合B中的元素,若该元素不在集合C中,则将其加入集合C中
for(int i=0; i<Bsize; i++)
{
int flag = 0; //标记集合B中的元素是否在集合C中
for(int j=0; j<*Csize; j++)
{
if(B[i] == C[j])
{
flag = 1;
break;
}
}
if(flag == 0)
{
C[*Csize] = B[i];
(*Csize)++;
}
}
}
```
阅读全文