创建二叉树的二叉链式存储结构
时间: 2023-12-13 19:31:32 浏览: 74
二叉树的二叉链式存储结构是指用链表的方式来存储二叉树,每个节点包含数据域和两个指针域,分别指向左右子树。下面是一个简单的二叉树的二叉链式存储结构的示例代码:
```c
typedef int TreeDataType;
typedef struct BinaryTreeNode {
TreeDataType data;
struct BinaryTreeNode* left;
struct BinaryTreeNode* right;
} BTNode;
// 创建一个二叉树
BTNode* CreatBinaryTree() {
TreeDataType data;
scanf("%d", &data);
if (data == -1) { // 如果输入-1,表示该节点为空
return NULL;
}
BTNode* root = (BTNode*)malloc(sizeof(BTNode)); // 创建根节点
root->data = data;
root->left = CreatBinaryTree(); // 递归创建左子树
root->right = CreatBinaryTree(); // 递归创建右子树
return root;
}
```
上述代码中,我们通过递归的方式来创建二叉树,当输入-1时,表示该节点为空,返回NULL。在创建根节点时,我们需要为其分配内存空间,然后将输入的数据存储到该节点的数据域中,最后递归创建左右子树,并将左右子树的根节点分别赋值给根节点的左右指针域。
阅读全文