C++ 实现整数集合类:并集、交集运算

本代码实现了一个简单的整数集合类,支持以下功能:

  1. 初始化集合:通过 Set 函数输入元素个数和元素值。
  2. 输出集合:通过 Show 函数按从小到大的顺序输出所有元素。
  3. 并集运算:通过重载 + 运算符实现两个集合的并集。
  4. 交集运算:通过重载 - 运算符实现两个集合的交集。

代码示例:

#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;
}

代码说明:

  1. 类定义: Cassemblage 类包含两个私有成员变量:n 表示元素个数,a 是一个数组用于存储集合元素。
  2. 初始化集合: Set 函数接受元素个数 n1 和元素数组 a1 作为参数,用于初始化集合。
  3. 输出集合: Show 函数按照从小到大的顺序输出所有元素,如果集合为空,则输出 'empty'
  4. 并集运算: 重载 + 运算符,用于计算两个集合的并集。该运算符会创建一个新的集合,包含两个集合中所有不重复的元素。
  5. 交集运算: 重载 - 运算符,用于计算两个集合的交集。该运算符会创建一个新的集合,包含两个集合中共同的元素。

输入输出样例:

输入样例 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++ 实现简单的整数集合类,并通过重载运算符实现并集和交集运算。该代码可以作为学习数据结构和面向对象编程的参考,并可以扩展到实现更多集合操作功能。

C++ 实现整数集合类:并集、交集运算

原文地址: https://www.cveoy.top/t/topic/oOUy 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录