SHAOXIAOJ正在加载中...

1670: 树-二叉树的创建和先序遍历

金币值:2 定数:9 时间限制:1.000 s 内存限制:128 M
正确:13 提交:19 正确率:68.42% 命题人:

题目描述

输入若干字符序列('#'代表空),按先序序列建立二叉树(采用二叉链表存储),输出该二叉树的先序遍历序列。部分代码如下,其中函数InitBiTree用于初始化一棵空树,CreateBiTree根据输入字符串创建一个二叉链表存储的树,PreOrderTraverse先序遍历二叉树。
#include <string.h>
#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 PreOrderTraverse(BiTree T);

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


/*仅提交以下代码*/
/* 构造空二叉树T */
void InitBiTree(BiTree &T) {

}

/* 按先序输入二叉树中结点的值(一个字符) */
/* #表示空树,构造二叉链表表示二叉树T。 */
void CreateBiTree(BiTree &T) {
	char ch;

}

/*先序递归遍历T */
void PreOrderTraverse(BiTree T) {

}

输入格式

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

输出格式

二叉树的先序遍历序列

输入样例    复制

ABD###CE###

输出样例    复制

ABDCE

提示

注意:构造二叉树时,首先考虑构造一棵什么样的二叉树(画出来,并在二叉树上空指针处加上“#”),然后按照先序序列的顺序(包括“#”)输入字符。 来源/分类