c++实现多叉树树形显示(适合家谱的显示)
时间: 2023-11-10 12:02:40 浏览: 151
实现多叉树树形显示可以使用递归算法来完成。假设我们已经有了一个多叉树的数据结构,其中每个节点有一个值和一个子节点列表。下面是一个简单的多叉树数据结构的定义:
```python
class Node:
def __init__(self, value):
self.value = value
self.children = []
```
下面是一个递归的函数`print_tree`,它可以打印出多叉树的树形结构:
```python
def print_tree(node, depth=0):
if node is None:
return
print(' ' * depth + node.value) # 打印节点值
for child in node.children:
print_tree(child, depth+1) # 递归打印子节点
```
假设我们已经构造了下面的多叉树:
```
A
/|\
B C D
/ \
E F
```
通过下面的代码调用`print_tree`函数,就可以打印出树形结构:
```python
# 构造多叉树
root = Node('A')
node_b = Node('B')
node_c = Node('C')
node_d = Node('D')
node_e = Node('E')
node_f = Node('F')
root.children = [node_b, node_c, node_d]
node_d.children = [node_e, node_f]
# 打印树形结构
print_tree(root)
```
输出结果为:
```
A
B
C
D
E
F
```
以上就是实现多叉树树形显示的基本方法。通过递归遍历多叉树的节点,按照每个节点的深度打印相应数量的空格,并打印节点值,可以实现多叉树的树形显示。
阅读全文