c语言建立二叉树的二叉链表存储结构。
时间: 2023-07-09 20:23:29 浏览: 116
在 C 语言中,可以使用二叉链表存储结构来表示二叉树,每个节点有三个成员:左子树指针,右子树指针和节点数据。下面是一个简单的二叉链表结构体定义:
```c
struct TreeNode {
int data;
struct TreeNode *left;
struct TreeNode *right;
};
```
其中,`data` 表示节点的数据,`left` 和 `right` 分别表示左子树和右子树的指针。当左子树或右子树为空时,对应的指针值为 `NULL`。
通过该结构体可以定义一个二叉树的根节点:
```c
struct TreeNode *root;
```
接下来可以使用动态内存分配函数 `malloc()` 来创建新的节点,并通过指针连接成二叉树的形式。例如,下面的代码片段创建了一个简单的二叉树:
```c
// 创建根节点
root = (struct TreeNode *)malloc(sizeof(struct TreeNode));
root->data = 1;
// 创建左子树
root->left = (struct TreeNode *)malloc(sizeof(struct TreeNode));
root->left->data = 2;
root->left->left = NULL;
root->left->right = NULL;
// 创建右子树
root->right = (struct TreeNode *)malloc(sizeof(struct TreeNode));
root->right->data = 3;
root->right->left = NULL;
root->right->right = NULL;
```
这个例子中,根节点的数据为 1,左子树的数据为 2,右子树的数据为 3。左子树和右子树都是空树。
当然,以上只是一个简单的例子,实际上可以根据需要动态创建任意形状的二叉树。
阅读全文