C++ 实现整数集合类:并集、交集运算
C++ 实现整数集合类:并集、交集运算
本代码实现了一个简单的整数集合类,支持以下功能:
- 初始化集合:通过
Set函数输入元素个数和元素值。 - 输出集合:通过
Show函数按从小到大的顺序输出所有元素。 - 并集运算:通过重载
+运算符实现两个集合的并集。 - 交集运算:通过重载
-运算符实现两个集合的交集。
代码示例:
#include<iostream>
using namespace std;
class Cassemblage
{
private :
int n;
int a[1000];
public :
void Set(int a1[] ,int n1)
{
n=n1;
for(int i=0;i<n;i++)
{
a[i]=a1[i];
}
}
Cassemblage operator+(Cassemblage z);
Cassemblage operator-(Cassemblage z);
void Show()
{
int i,j,t;
if(n>0)
{
for (i=0;i<n;i++)
{
for(j=i;j<n;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<n;i++)
{
cout<<a[i]<<' ';
}
}
else
{cout<<'empty';
}
}
};
int main( )
{
Cassemblage z1, z2, x3;
int i, n1, n2, a1[1000], a2[1000];
cin >> n1;
for(i=0; i<n1; i++)
{
cin >> a1[i];
}
z1.Set(a1, n1);
cin >> n2;
for(i=0; i<n2; i++)
{
cin >> a2[i];
}
z2.Set(a2, n2);
x3=z1+z2;
x3.Show();
cout << endl;
x3=z1-z2;
x3.Show();
return 0;
}
代码说明:
- 类定义:
Cassemblage类包含两个私有成员变量:n表示元素个数,a是一个数组用于存储集合元素。 - 初始化集合:
Set函数接受元素个数n1和元素数组a1作为参数,用于初始化集合。 - 输出集合:
Show函数按照从小到大的顺序输出所有元素,如果集合为空,则输出'empty'。 - 并集运算: 重载
+运算符,用于计算两个集合的并集。该运算符会创建一个新的集合,包含两个集合中所有不重复的元素。 - 交集运算: 重载
-运算符,用于计算两个集合的交集。该运算符会创建一个新的集合,包含两个集合中共同的元素。
输入输出样例:
输入样例 1:
3
1 2 3
4
1 2 5 6
输出样例 1:
1 2 3 5 6
1 2
输入样例 2:
3
1 2 3
3
1 2 3
输出样例 2:
1 2 3
1 2 3
总结:
本代码示例展示了如何使用 C++ 实现简单的整数集合类,并通过重载运算符实现并集和交集运算。该代码可以作为学习数据结构和面向对象编程的参考,并可以扩展到实现更多集合操作功能。
原文地址: https://www.cveoy.top/t/topic/oOUy 著作权归作者所有。请勿转载和采集!