数据结构实验二叉树的遍历

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南昌大学实验报告

学生姓名:李木子学号:8000113146 专业班级:软工133 实验类型:□验证□综合□设计□创新实验日期:实验成绩:

一、实验项目名称

二叉树的遍历

二、实验目的

学会链式二叉树的结构体定义,创建与前序中序后序遍历

三、实验基本原理

四、主要仪器设备及耗材

电脑,VC6.0

五、实验步骤

/**************************************/

/* 链式二叉树的创建与遍历 */

/**************************************/

/**************************************/

/* 链式二叉树的结构体定义 */

/**************************************/

#include

#include

typedef char datatype ;

typedef struct BinTreeNode{

datatype data ;

struct BinTreeNode *lchild ;

struct BinTreeNode *rchild ;

} BinTreeNode ;

/**************************************/

/* 链式二叉树函数声明 */

/**************************************/

BinTreeNode * CreateTree(void);

void PreOrder( BinTreeNode * t );

void InOrder( BinTreeNode * t );

void PostOrder( BinTreeNode * t );

/**************************************/

/* 链式二叉树创建函数 */

/**************************************/

BinTreeNode * CreateTree(void)

{

char ch ;

BinTreeNode * t ;

ch=getchar();

if(ch=='#')

t=NULL;

else if( ch=='\n');

else

{

t=( BinTreeNode*)malloc(sizeof( BinTreeNode ));

t->data =ch ;

t->lchild=CreateTree();

t->rchild=CreateTree();

}

return t ;

}

/**************************************/

/* 链式二叉树递归前序遍历函数 */

/**************************************/

void PreOrder( BinTreeNode * t )

{

if(t)

{

printf("%c\t",t->data);

PreOrder( t->lchild );

PreOrder( t->rchild );

}

}

/**************************************/ /* 链式二叉树递归中序遍历函数 */

/**************************************/ void InOrder( BinTreeNode * t )

{

if(t)

{

InOrder( t->lchild );

printf("%c\t",t->data);

InOrder( t->rchild );

}

}

/**************************************/ /* 链式二叉树递归后序遍历函数 */

/**************************************/ void PostOrder( BinTreeNode * t )

{

if(t)

{

PostOrder( t->lchild );

PostOrder( t->rchild );

printf("%c\t",t->data);

}

}

/**************************************/ /* 主函数 */

/**************************************/ int main()

BinTreeNode * t ;

printf("创建二叉树\n");

t=CreateTree();

printf("前序遍历二叉树\n");

PreOrder( t );

printf("\n");

printf("中序遍历二叉树\n");

InOrder( t );

printf("\n");

printf("后序遍历二叉树\n");

PostOrder( t );

printf("\n");

return0;

}

六、实验数据及处理结果

相关文档
最新文档