CreateBiTree(BiTree &T)——根据先序遍历的字符序列,创建一棵按二叉链表结构存储的二叉树,指针变量T指向二叉树的根结点。
时间: 2024-05-02 13:17:00 浏览: 116
采用字符类型为元素类型和二叉链表为存储结构,实现抽象数据类型二叉树。
以下是C++实现:
```cpp
typedef struct BiTNode {
char data;
struct BiTNode *lchild, *rchild;
} BiTNode, *BiTree;
void CreateBiTree(BiTree &T) {
char ch;
scanf("%c", &ch);
if (ch == ' ') {
T = NULL;
} else {
T = (BiTree)malloc(sizeof(BiTNode));
T->data = ch;
CreateBiTree(T->lchild);
CreateBiTree(T->rchild);
}
}
```
使用方法:
```cpp
int main() {
BiTree T;
printf("请输入先序遍历的字符序列:\n");
CreateBiTree(T);
return 0;
}
```
具体解释:
`CreateBiTree` 函数的实现使用了递归的思路,每次读入一个字符,如果是空格则表示该节点为空,否则创建一个新节点,并递归地创建其左右子树。
阅读全文