实验报告内容
1. #include "stdafx.h"
2. #include <stdio.h>
3. #include <conio.h>
4. #include <stdlib.h>
5. #include <string.h>
6.
7. #define NULL 0
8.
9. int m_nNumOfLeaf=0; // 叶子结点数量
10.
11. typedef char ElemType; //定义二叉树结点中保存的数据的数据类型
12.
13. typedef struct BinaryNode //定义二叉树结点的数据类型
14. {
15. ElemType data; //存放二叉树结点数据
16. struct BinaryNode *lchild, *rchild; //存放二叉树结点左右子树的指针(指向的
数据类型是本身)
17. } BTNode;
18.
19.
20. BTNode * m_root= NULL; // 二叉树指针(指向二叉树的根结点)
21.
22. BTNode * CreatebBinaryTree()
23. {
24. BTNode *T;
25. ElemType x;
26. scanf("%c",&x); // 获取结点数据
27. if(x=='#') // 空结点
28. T=NULL;
29. else // 非空结点
30. {
31. T=(BTNode*)malloc(sizeof(BTNode)); // 申请空间存储结点
32. T->data=x; // 存储数据
33. T->lchild=CreatebBinaryTree(); // 建立以本结点为根的左子树
34. T->rchild=CreatebBinaryTree(); // 建立以本结点为根的右子树
35. }
36.
37. return(T); // 返回根结点
38. }
39.
40. void PreOrderPrint(BTNode *t)