用c++存储二叉树的基本代码
时间: 2023-08-07 07:02:13 浏览: 88
以下是用C++存储二叉树的基本代码示例:
```cpp
#include <iostream>
using namespace std;
// 二叉树结点定义
struct TreeNode {
int data;
TreeNode* left;
TreeNode* right;
};
// 创建新结点
TreeNode* createNode(int data) {
TreeNode* newNode = new TreeNode();
if (!newNode) {
cout << "内存分配失败!" << endl;
return nullptr;
}
newNode->data = data;
newNode->left = newNode->right = nullptr;
return newNode;
}
// 插入结点
TreeNode* insertNode(TreeNode* root, int data) {
// 如果树为空,创建一个新结点作为根结点
if (root == nullptr) {
root = createNode(data);
return root;
}
// 否则,递归地插入左子树或右子树
if (data <= root->data) {
root->left = insertNode(root->left, data);
} else {
root->right = insertNode(root->right, data);
}
return root;
}
int main() {
TreeNode* root = nullptr;
root = insertNode(root, 50);
root = insertNode(root, 30);
root = insertNode(root, 20);
root = insertNode(root, 40);
root = insertNode(root, 70);
root = insertNode(root, 60);
root = insertNode(root, 80);
// 在此处可以执行其他操作,如打印二叉树等
return 0;
}
```
以上代码示例了如何使用C++存储二叉树。它定义了一个二叉树结点结构体 `TreeNode`,包含一个整数数据字段和指向左右子树的指针。`createNode` 函数用于创建新的结点,`insertNode` 函数用于插入新的结点到二叉树中。在 `main` 函数中,我们创建了一个二叉树并插入了一些结点。你可以在适当的位置添加其他操作,如打印二叉树等。
阅读全文