数据结构C语言树的遍历pta,PTA 二叉树的三种遍历(先序、中序和后序)

本题要求实现给定的二叉树的三种遍历。

函数接口定义:

void Preorder(BiTree T);

void Inorder(BiTree T);

void Postorder(BiTree T);

T是二叉树树根指针,Preorder、Inorder和Postorder分别输出给定二叉树的先序、中序和后序遍历序列,格式为一个空格跟着一个字符。

其中BinTree结构定义如下:

typedef char ElemType;

typedef struct BiTNode

{

ElemType data;

struct BiTNode *lchild, *rchild;

}BiTNode, *BiTree;

裁判测试程序样例:

#include

#include

typedef char ElemType;

typedef struct BiTNode

{

ElemType data;

struct BiTNode *lchild, *rchild;

}BiTNode, *BiTree;

BiTree Create();/* 细节在此不表 */

void Preorder(BiTree T);

void Inorder(BiTree T);

void Postorder(BiTree T);

int main()

{

BiTree T = Create();

printf("Preorder:"); Preorder(T); printf("\n");

printf("Inorder:"); Inorder(T); printf("\n");

printf("Postorder:"); Postorder(T); printf("\n");

return 0;

}

/* 你的代码将被嵌在这里 */

输出样例(对于图中给出的树):

Preorder: A B D F G C

Inorder: B F D G A C

Postorder: F G D B C A

voidPreorder(BiTree T){if(T==NULL)return;

printf("%c",T->data);

Preorder(T->lchild);

Preorder(T->rchild);

}voidInorder(BiTree T){if(T==NULL)return;

Inorder(T->lchild);

printf("%c",T->data);

Inorder(T->rchild);

}voidPostorder(BiTree T){if(T==NULL)return;

Postorder(T->lchild);

Postorder(T->rchild);

printf("%c",T->data);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值