创建顺序二叉树c++
时间: 2023-11-21 20:06:17 浏览: 101
C++创建二叉树及操作
根据提供的引用,这里介绍如何在C++中创建顺序二叉树。
顺序二叉树是一种用数组来表示二叉树的方法,它的特点是:对于下标为i的结点,它的左孩子下标为2*i,右孩子下标为2*i+1,父结点下标为i/2。
以下是一个简单的C++代码示例,用于创建顺序二叉树:
```c++
#include <iostream>
using namespace std;
#define MAXSIZE 100 // 定义数组的最大长度
// 定义二叉树结构体
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};
// 创建顺序二叉树
TreeNode* createTree(int arr[], int size, int index) {
if (index >= size) {
return NULL;
}
TreeNode* root = new TreeNode(arr[index]);
root->left = createTree(arr, size, 2 * index + 1);
root->right = createTree(arr, size, 2 * index + 2);
return root;
}
int main() {
int arr[MAXSIZE];
int size;
cout << "请输入数组长度:";
cin >> size;
cout << "请输入数组元素:";
for (int i = 0; i < size; i++) {
cin >> arr[i];
}
TreeNode* root = createTree(arr, size, 0);
return 0;
}
```
阅读全文