用c语言以二叉链表表示二叉树,建立一棵二叉树
时间: 2024-01-23 12:46:08 浏览: 84
C语言实现二叉链表存储
好的,我知道了。下面是建立一棵二叉树的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
// 定义二叉树节点结构体
typedef struct BTreeNode {
char data; // 数据
struct BTreeNode *left, *right; // 左右子树指针
} BTreeNode, *BTree;
// 创建二叉树
BTree createBTree() {
char c;
scanf("%c", &c);
if (c == '#') { // 如果输入的是 # ,表示该节点为空
return NULL;
} else {
// 创建一个新节点
BTree node = (BTree)malloc(sizeof(BTreeNode));
node->data = c;
node->left = createBTree(); // 递归创建左子树
node->right = createBTree(); // 递归创建右子树
return node;
}
}
int main() {
printf("请输入二叉树的前序遍历序列:\n");
BTree root = createBTree(); // 创建二叉树
return 0;
}
```
输入格式为二叉树的前序遍历序列,其中 # 表示空节点。例如,若要创建下面这棵二叉树:
<pre>
A
/ \
B C
/ \
D E
</pre>
则输入序列应为:ABD##E##C##
阅读全文