Description
如果用大写字母标识二叉树结点,则一颗二叉树可以用符合下面语法图的字符序列表示。试编写递归程序,由这种形式的字符序列,建立相应的二叉树的二叉链表存储结构(附图见《严蔚敏:数据结构题集(C语言版)》第45页6.70)。
Input
输入如图所示的字符序列。
Output
建立相应二叉树的二成叉链表存储结构,并先序遍历输出。
-
Sample Input
A(B(#,D),C(E(#,F),#)) -
Sample Output
AB#DCE#F#
#include<stdio.h>
#include<stdlib.h>
typedef struct BTNode{
char data;
struct BTNode *lchild;
struct BTNode *rchild;
}BTNode;
BTNode *CreateTree(){
char s1, s2;
BTNode *q;
q = (BTNode*)malloc(sizeof(BTNode));
q->lchild = NULL;
q->rchild = NULL;
s1 = getchar();
构建二叉树的二叉链表存储结构

该博客介绍如何通过字符序列递归地建立二叉树的二叉链表存储结构,具体方法是根据输入的字符序列,判断逗号和括号来确定节点及子节点,并通过先序遍历输出结果。
最低0.47元/天 解锁文章





