SHAOXIAOJ正在加载中...

2236: DS-模拟题4

金币值:2 定数:9 时间限制:1.000 s 内存限制:128 M
正确:30 提交:82 正确率:36.59% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 数据结构-综合测试

题目描述

输入若干字符序列('#'代表空),按先序序列建立二叉树(采用二叉链表存储),输出该二叉树的中序遍历序列,请填空。代码中,函数InitBiTree用于初始化一棵空树,CreateBiTree根据输入字符串创建一个二叉链表存储的树,InOrderTraverse中序遍历二叉树。(仅提交填空部分)
#include <stdio.h>
#include <stdlib.h>

typedef struct BiTNode {
	char data;
	struct BiTNode *lchild,*rchild;
} BiTNode,*BiTree;

void InitBiTree(BiTree &T);
void CreateBiTree(BiTree &T);
void InOrderTraverse(BiTree T);

int main(void) {
	BiTree T;
	InitBiTree(T);
	CreateBiTree(T);
	InOrderTraverse (T);
	return 0;
}

void InitBiTree(BiTree &T) {
	T=NULL;
}

/* 按先序输入二叉树中结点的值(一个字符),#表示空树,构造二叉链表表示二叉树T。 */
void CreateBiTree(BiTree &T) {
	char ch;
	ch=getchar();
	if(ch=='#') T=NULL;
	else if(ch=='\0') return;
	else {
		T=(BiTree)malloc(sizeof(BiTNode));
		T->data=ch;
		CreateBiTree(T->lchild);
		CreateBiTree(T->rchild);
	}
}

void InOrderTraverse(BiTree T) {
	if(T!=NULL) {
       ______________
	}
}

输入格式

在一行上输入若干个字符以建立一棵二叉树,遇‘#’表示建立一个空二叉树。

输出格式

二叉树的中序遍历序列

输入样例    复制

A#BC##DE###

输出样例    复制

ACBED