写程序实现: 使用数组表示集合,完成以下功能 (1)判断一个元素是否在集合中 (2)求两个集合的并集 (3)求两个集合的差集 (4)求两个集合的交集
时间: 2024-09-08 22:03:29 浏览: 64
c++特别版类的习题9 数组实现集合的交并差
在Python中,你可以使用列表(list)作为简单的数组来实现这些集合操作:
```python
class ArraySet:
def __init__(self):
self.data = []
# 判断一个元素是否在集合中
def contains(self, item):
return item in self.data
# 添加元素到集合
def add(self, item):
if item not in self.data:
self.data.append(item)
# 求两个集合的并集
@staticmethod
def union(set1, set2):
combined_set = set1.copy()
combined_set.extend(set2)
return list(combined_set)
# 求两个集合的差集
@staticmethod
def difference(set1, set2):
return [item for item in set1 if item not in set2]
# 求两个集合的交集
@staticmethod
def intersection(set1, set2):
return [item for item in set1 if item in set2]
# 示例
set1 = ArraySet([1, 2, 3])
set2 = ArraySet([3, 4, 5])
print("set1:", set1.data) # 判断元素是否在 set1 中
print("contains 2:", set1.contains(2)) # 输出结果
set1.add(4) # 添加元素
print("after adding 4 to set1:", set1.data)
union_result = ArraySet.union(set1.data, set2.data)
difference_result = ArraySet.difference(set1.data, set2.data)
intersection_result = ArraySet.intersection(set1.data, set2.data)
print("Union:", union_result)
print("Difference:", difference_result)
print("Intersection:", intersection_result)
```
这个`ArraySet`类定义了一个简单的基于数组的集合,包含了基本的查找、添加和集合运算方法。注意这里的并集、差集和交集都是静态方法,因为它们不需要依赖具体的实例状态。
阅读全文