用c语言建立一个二叉链表
时间: 2024-03-31 07:38:02 浏览: 66
好的,下面是用 C 语言建立二叉链表的代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树的结点结构体
typedef struct TreeNode {
int data; // 数据域
struct TreeNode *left; // 左孩子结点指针
struct TreeNode *right; // 右孩子结点指针
} TreeNode, *Tree;
// 创建一颗二叉树
Tree createTree() {
int data;
scanf("%d", &data); // 输入当前结点的值
if (data == -1) { // 当输入 -1 时,表示该结点为空结点
return NULL;
}
Tree root = (Tree) malloc(sizeof(TreeNode)); // 为该结点分配内存空间
root->data = data; // 将输入的值赋给该结点的数据域
root->left = createTree(); // 创建当前结点的左子树
root->right = createTree(); // 创建当前结点的右子树
return root; // 返回该结点
}
int main() {
printf("请输入二叉树的结点(以 -1 结尾):\n");
Tree root = createTree(); // 创建一颗二叉树
return 0;
}
```
以上代码实现了通过递归方式创建一颗二叉树,并返回二叉树的根节点。在输入二叉树的结点时,当输入 -1 时,表示该结点为空结点,递归结束。
阅读全文