1 //6_3_part1.h
2 /**3 author:zhaoyu4 date:2016-6-185 */
6 #include "head.h"
7 #define TElemType char
8 //----二叉树的二叉链表表示----
9 typedef structBiTNode{10 TElemType data;11 struct BiTNode *lchild, *rchild;12 }*BiTree;13 /**14 algorithm 6.415 */
16 Status CreateBiTree(BiTree &T)17 {//按先序次序输入二叉树中结点的值(一个字符),空格字符表示空树18 //构造二叉链表表示的二叉树
19 charch;20 scanf("%c", &ch);21 if (' ' ==ch)22 {23 T =NULL;24 }25 else
26 {27 if (!(T = (BiTree)malloc(sizeof(BiTNode))))28 {29 exit(OVERFLOW);30 }31 T->data = ch;//生成根结点
32 CreateBiTree(T->lchild);33 CreateBiTree(T->rchild);34 }35 returnOK;36 }37 Status Visit(TElemType e)38 {39 printf("%c", e);40 returnOK;41 }42 /**43 algorithm 6.144 */
45 Status RecursionPreOrderTraverse(BiTree T, Status (*Visit)(TElemType e))46 {//采用二叉链表存储结构,Visit是对数据元素操作的应用函数47 //先序遍历二叉