数据结构 家谱管理系统
时间: 2023-12-26 11:05:24 浏览: 36
家谱管理系统是一个基于数据结构的程序,用于管理家族的家谱信息。它可以记录家族成员的关系,并提供查询、添加、删除等功能。以下是一个简单的家谱管理系统的示例代码:
```python
class Person:
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
self.children = []
def add_child(self, child):
self.children.append(child)
def remove_child(self, child):
self.children.remove(child)
def get_children(self):
return self.children
def get_name(self):
return self.name
def get_gender(self):
return self.gender
def get_age(self):
return self.age
def build_family_tree():
# 创建家族成员
grandpa = Person("Grandpa", "Male", 70)
grandma = Person("Grandma", "Female", 68)
father = Person("Father", "Male", 40)
mother = Person("Mother", "Female", 38)
child1 = Person("Child1", "Male", 20)
child2 = Person("Child2", "Female", 18)
# 建立家族关系
grandpa.add_child(father)
grandma.add_child(father)
father.add_child(child1)
father.add_child(child2)
mother.add_child(child1)
mother.add_child(child2)
# 返回家族树的根节点
return grandpa
def display_family_tree(person, level=0):
# 打印家族成员信息
print(" " * level + "- " + person.get_name() + " (" + person.get_gender() + ", " + str(person.get_age()) + ")")
# 递归打印子节点
children = person.get_children()
for child in children:
display_family_tree(child, level + 1)
# 构建家族树
root = build_family_tree()
# 打印家族树
display_family_tree(root)
```
这段代码创建了一个家族树,包含了祖父、祖母、父亲、母亲和两个孩子的信息,并通过递归方式打印出整个家族树的结构。