构造二叉链表储存二叉树T
时间: 2023-06-03 12:05:26 浏览: 153
前述二叉树的二叉链表如下所示-数据结构课件 计算机
很高兴接受你的问题。关于构造二叉链表储存二叉树T,我们可以用以下代码实现:
```
typedef struct BiTNode{ //定义二叉树结点
int data;
struct BiTNode *lchild,*rchild;
}BiTNode,*BiTree;
```
上述代码中,定义了具有左右子树指针的二叉树结点。同时声明了一个二叉树类型别名BiTree。
下面是一个构造二叉链表储存二叉树T的示例:
```
void CreateBiTree(BiTree *T){ //构造二叉链表
int ch;
scanf("%d",&ch);
if (ch == 0) {
*T = NULL;
} else {
*T = (BiTree)malloc(sizeof(BiTNode));
(*T)->data = ch;
CreateBiTree(&(*T)->lchild);
CreateBiTree(&(*T)->rchild);
}
}
```
上述代码中,CreateBiTree函数用于通过递归方式构建二叉树结点。如果当前结点值为0,则将指针T赋值为NULL。否则,为当前结点分配内存空间,存储其值,并递归地为其左右子树分配空间。
希望这个回答可以帮助到您。如果您有其他问题,欢迎继续问我。
阅读全文