C语言 二叉链表创建二叉树
时间: 2023-11-11 15:03:36 浏览: 172
C语言中,可以使用二叉链表来创建二叉树。
二叉链表是由一个数据域和两个指针域组成的结构体,其中一个指针指向左子树,另一个指针指向右子树。二叉树的节点可以被定义为如下结构体:
```c
typedef struct Node{
int data;
struct Node* left;
struct Node* right;
}Node;
```
其中,data是节点的值,left和right分别指向左子树和右子树。
创建二叉树的过程可以通过递归实现。递归函数的输入参数为当前节点的指针,函数内部首先读入节点的值,然后递归创建左子树和右子树。如果输入的值为0,则表示当前节点为空。
下面是一个示例代码,实现了通过二叉链表创建二叉树的过程:
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct Node{
int data;
struct Node* left;
struct Node* right;
}Node;
Node* createTree(){
int value;
scanf("%d", &value);
if(value == 0){
return NULL;
}
Node* node = (Node*)malloc(sizeof(Node));
node->data = value;
node->left = createTree();
node->right = createTree();
return node;
}
int main(){
Node* root = createTree();
return 0;
}
```
在上面的代码中,createTree函数用于创建二叉树,main函数中调用createTree函数创建了二叉树的根节点。可以通过输入数据来构造不同的二叉树。
阅读全文