编程实现集合数据类型,完成并、交、差、对称差代码
时间: 2023-10-20 15:14:58 浏览: 38
以下是 Python 代码实现:
```python
class Set:
def __init__(self, items=[]):
self.items = []
for item in items:
if item not in self.items:
self.items.append(item)
def __repr__(self):
return f"Set({self.items})"
def add(self, item):
if item not in self.items:
self.items.append(item)
def remove(self, item):
if item in self.items:
self.items.remove(item)
def union(self, other_set):
union_set = Set(self.items)
for item in other_set.items:
if item not in union_set.items:
union_set.items.append(item)
return union_set
def intersect(self, other_set):
intersect_set = Set()
for item in self.items:
if item in other_set.items:
intersect_set.items.append(item)
return intersect_set
def difference(self, other_set):
difference_set = Set(self.items)
for item in other_set.items:
if item in difference_set.items:
difference_set.items.remove(item)
return difference_set
def symmetric_difference(self, other_set):
symmetric_difference_set = Set()
for item in self.items:
if item not in other_set.items:
symmetric_difference_set.items.append(item)
for item in other_set.items:
if item not in self.items:
symmetric_difference_set.items.append(item)
return symmetric_difference_set
```
其中,`Set` 类实现了集合数据类型,包括基本操作如 `add`、`remove`,以及集合并、交、差、对称差等操作。可以通过以下方式进行测试:
```python
a = Set([1, 3, 5, 7])
b = Set([2, 4, 6, 7])
print(a.union(b)) # Set([1, 3, 5, 7, 2, 4, 6])
print(a.intersect(b)) # Set([7])
print(a.difference(b)) # Set([1, 3, 5])
print(a.symmetric_difference(b)) # Set([1, 3, 5, 2, 4, 6])
```