从键盘输入包含m个整数的集合存入数组a中、包含n个整数的集合存入数组b中,求a和b的并集c。要求:用指针操作数组。输入输出格式参见样张:
时间: 2024-02-27 13:55:39 浏览: 61
下面是一份使用指针操作数组实现求两个集合并集的代码示例:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
void input(int *a, int n)
{
for(int i = 0; i < n; ++i)
{
cin >> *(a + i);
}
}
void output(int *a, int n)
{
for(int i = 0; i < n; ++i)
{
cout << *(a + i) << " ";
}
cout << endl;
}
int* set_union(int *a, int *b, int m, int n, int &len)
{
int *c = new int[m + n];
len = m;
for(int i = 0; i < m; ++i)
{
*(c + i) = *(a + i);
}
for(int i = 0; i < n; ++i)
{
if(find(a, a + m, *(b + i)) == a + m)
{
*(c + len) = *(b + i);
++len;
}
}
return c;
}
int main()
{
int m, n, len;
cin >> m >> n;
int *a = new int[m];
int *b = new int[n];
input(a, m);
input(b, n);
int *c = set_union(a, b, m, n, len);
output(c, len);
delete[] a;
delete[] b;
delete[] c;
return 0;
}
```
输入格式:
第一行输入两个整数 m 和 n 表示两个集合的大小。
第二行输入 m 个整数表示第一个集合。
第三行输入 n 个整数表示第二个集合。
输出格式:
输出两个集合的并集。
输入样例:
```
5 4
1 2 3 4 5
3 4 5 6
```
输出样例:
```
1 2 3 4 5 6
```
阅读全文