输出二叉树的先序中序和后序遍历序列

Posted top啦它

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了输出二叉树的先序中序和后序遍历序列相关的知识,希望对你有一定的参考价值。

Description
给定先序序列,按照该序列创建对应的二叉树,并输出其先序、中序和后序遍历序列。
Input
一行二叉树的按先序遍历序列,空指针用字符^占位
Output
输出三行,分别对应该二叉树的先序、中序和后序遍历序列
Sample Input
ABC^DEG^F^^
Sample Output
ABCDEGF
CBEGDFA
CGEFDBA

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct Tree
	struct Tree *lChild,*rChild;
	char data;
*BiTree,BiTNode;
BiTree CreatBiTree()

	BiTree T;
	char ch;
	ch = getchar();
	if(ch != '^')
	
		T = (BiTree)malloc(sizeof(BiTNode));
		T->data = ch;
		T->lChild = CreatBiTree();
		T->rChild = CreatBiTree();
	
	else
	
		T = NULL;
	
	return T;

void xian(BiTree T)

    if(T==NULL)
        return ;
    printf("%c",T->data);
    xian(T->lChild);
    xian(T->rChild);
  
void InOderTraverse(BiTree T)

    if(T==NULL)
        return ;
    InOderTraverse(T->lChild);
    printf("%c",T->data);
    InOderTraverse(T->rChild);
 
void PostOderTraverse(BiTree T)

    if(T==NULL)
        return;
    PostOderTraverse(T->lChild);
    PostOderTraverse(T->rChild);
    printf("%c",T->data);
 
int main(void)

	BiTree T;
	T = CreatBiTree();
	xian(T);
	printf("\\n");
	InOderTraverse(T);
	printf("\\n");
	PostOderTraverse(T);
	return 0;

以上是关于输出二叉树的先序中序和后序遍历序列的主要内容,如果未能解决你的问题,请参考以下文章

树——二叉树的先序中序和后序遍历

创建二叉树非递归完成对二叉树的先序和后序遍历并遍历输出每一层的结点数查找结点P 和结点Q的最近共同祖先

已知一个二叉树的先序序列和中序序列,怎么求它的后序序列

二叉树的前序中序和后续遍历及应用场景

通过遍历序列构造二叉树(扩展二叉树的先序先序和中序后序和中序层序和中序)附可执行完整代码

已知二叉树的中序序列和后序序列,怎么求前序序列