- /*
- * Copyright (c)2016,烟台大学计算机与控制工程学院
- * All rights reserved.
- * 文件名称:WU.cpp
- * 作 者:武昊
- * 完成日期:2016年11月3日
- * 版 本 号:v1.0
- *问题描述:实现二叉树的先序、中序、后序遍历的递归算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。
- *输入描述:无
- *程序输出:测试数据
- */
btree.h:
- #include <stdio.h>
- #include <malloc.h>
- #define MaxSize 100
- typedef char ElemType;
- typedef struct node
- {
- ElemType data; //数据元素
- struct node *lchild; //指向左孩子
- struct node *rchild; //指向右孩子
- } BTNode;
- void CreateBTNode(BTNode *&b,char *str); //由str串创建二叉链
- BTNode *FindNode(BTNode *b,ElemType x); //返回data域为x的节点指针
- BTNode *LchildNode(BTNode *p); //返回*p节点的左孩子节点指针
- BTNode *RchildNode(BTNode *p); //返回*p节点的右孩子节点指针
- int BTNodeDepth(BTNode *b); //求二叉树b的深度
- void DispBTNode(BTNode *b); //以括号表示法输出二叉树
- void DestroyBTNode(BTNode *&b); //销毁二叉树
main.cpp:
运行结果: