2X树
实验二 二叉树实验
一、实验目的和要求:
实验目的:
掌握二叉树的链式存储结构,通过二叉树的建立及遍历操作了解递归的本质和方法。
实验要求:
按实验内容的要求,编写程序;
提交实验报告;
二、实验环境:
计算机
操作系统 Windows xp
编程工具 TURBO C 2.0
三、实验内容:
1. 采用二叉链表作为存储结构,基于二叉树的先序序列建立如下二叉树。 建立时输入数据:1 2 0 0 3 4 6 0 0 0 5 0 0
2. 完成二叉树的前序序列﹑中序序列﹑后序序列遍历。
先序:1 2 3 4 6 5
中序:2 1 6 4 3 5
后序:2 6 4 5 3 1
四、源程序
#include<stdio.h>
#include<stdlib.h>
struct BTNode
{int Data;
二叉树的遍历及应用实验报告struct BTNode *lchild,*rchild;};
struct BTNode *CreatBiTree(struct BTNode *BT,int k)
{ struct BTNode *T; int ch;
T=(struct BTNode *)malloc(sizeof(struct BTNode));
scanf("%d",&ch);
if(ch!=0)
{ T->Data=ch;
T->lchild=NULL;
T->rchild=NULL;
if(k==0)
BT=T;
if(k==1)
BT->lchild=T;
if(k==2)
BT->rchild=T;
CreatBiTree(T,1);
CreatBiTree(T,2);
return(BT);}}
void pre(struct BTNode *T)
{if(T!=NULL)
{ printf("%d",T->Data);
pre(T->lchild);
pre(T->rchild);}}
void mid(struct BTNode *T)
{ if(T!=NULL)
{ mid(T->lchild);
printf("%d ",T->Data);
mid(T->rchild);}}
void post(struct BTNode *T)
{ if(T!=NULL)
{ post(T->lchild);
post(T->rchild);
printf("%d",T->Data);}}
void main()
{struct BTNode *T;
T=CreatBiTree(T,0);
pre(T);
mid(T);
post(T);}_
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论