已知构造集合的ADT Set的抽象数据类型如下
图所示。
设计.一个完整的程序,实现集合抽象数据类型
的数据结构,并用相关数据进行测试。要求:
定义集合类Set,假设其中元素为整型,遵循
标准数学定义实现以下运算:
(1) 基本运算:求集合长度、求第i个元素、
判断一个元素是否属于集合、向集合中添加一
个元素、从集合中删除一个元素、复制集合和
输出集合中所有元素。
(2) 集合运算:求两个集合并Union、集合
交Inter和集合差Diff。
class s:
def __init__(self):
self.ss = set()
while 1:
n = input('输入你的元素值:')
if n == 'q':
break
self.ss.add(int(n))
def get_child(self, value):
print(f'集合长度为{len(self.ss)}')
if value not in self.ss:
print(f'{value}不在集合里面')
else:
print(f'{value}在集合里面')
def delete_child(self, value):
if value in self.ss:
self.ss.remove(value)
print(f'集合删除元素{value}')
print(f'集合所有元素{self.ss}')
def run_set(self, new_set):
print(f'集合{self.ss}与新集合{new_set}的交集{self.ss & new_set}')
print(f'集合{self.ss}与新集合{new_set}的合集{self.ss | new_set}')
print(f'集合{self.ss}与新集合{new_set}的差集{self.ss | new_set}')
s = s()
s.get_child(1)
s.delete_child(1)
s.run_set({3,4,6,8})