c++ 生成一个二叉树
时间: 2023-05-27 16:03:33 浏览: 57
以下是一个简单的二叉树的类实现,可以实现二叉树的创建,插入节点和前序遍历:
```
class Node:
def __init__(self, val):
self.val = val
self.left = None
self.right = None
class BinaryTree:
def __init__(self):
self.root = None
def insert(self, val):
new_node = Node(val)
if self.root is None:
self.root = new_node
else:
current = self.root
while True:
if val < current.val:
if current.left is None:
current.left = new_node
break
else:
current = current.left
elif val > current.val:
if current.right is None:
current.right = new_node
break
else:
current = current.right
def preorder_traversal(self, node):
if node is not None:
print(node.val)
self.preorder_traversal(node.left)
self.preorder_traversal(node.right)
# 创建二叉树
tree = BinaryTree()
# 插入节点
tree.insert(50)
tree.insert(30)
tree.insert(20)
tree.insert(40)
tree.insert(70)
tree.insert(60)
tree.insert(80)
# 前序遍历
tree.preorder_traversal(tree.root)
```
输出:
```
50
30
20
40
70
60
80
```