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