c++写二叉树代码
时间: 2023-08-06 19:23:30 浏览: 44
以下是一个简单的二叉树的 C++ 代码示例:
```c++
#include <iostream>
using namespace std;
class Node {
public:
int data;
Node *left;
Node *right;
Node(int data) {
this->data = data;
this->left = NULL;
this->right = NULL;
}
};
void insert(Node** root, int data) {
if (*root == NULL) {
*root = new Node(data);
} else if (data < (*root)->data) {
insert(&((*root)->left), data);
} else {
insert(&((*root)->right), data);
}
}
void inorderTraversal(Node* node) {
if (node != NULL) {
inorderTraversal(node->left);
cout << node->data << " ";
inorderTraversal(node->right);
}
}
int main() {
Node* root = NULL;
insert(&root, 50);
insert(&root, 30);
insert(&root, 20);
insert(&root, 40);
insert(&root, 70);
insert(&root, 60);
insert(&root, 80);
cout << "Inorder traversal of the binary search tree is: ";
inorderTraversal(root);
cout << endl;
return 0;
}
```
这里我们使用了 C++ 中的类来定义节点,其中有一个构造函数用于初始化节点的数据和左右子节点。我们还定义了一个 `insert` 函数,它使用递归方式实现了二叉树的插入操作。最后,我们使用中序遍历函数 `inorderTraversal` 遍历二叉树并输出结果。