Tree.h
Upload User: teng168
Upload Date: 2022-07-26
Package Size: 1890k
Code Size: 1k
Category:

Data structs

Development Platform:

Visual C++

  1. #ifndef TREE_H
  2. #define TREE_H
  3. #define ElemType char //字符型
  4. typedef struct BiTNode //二叉树结点链表结构体
  5. {
  6. ElemType data;
  7. struct BiTNode *lchild, *rchild;
  8. }BiTNode, *BiTree;
  9. //为了实现非递归遍历要增加的栈...
  10. typedef struct Stack //二叉树结点顺序栈
  11. BiTree data[100];
  12.     int flag[100];
  13.     int top;
  14. };
  15. //为了实现层次遍历要增加的队列...
  16. typedef struct Queue //二叉树结点队列
  17.     BiTree data[30];
  18.     int front;
  19.     int rear;
  20. };
  21. int InitBiTree(BiTree &T) ; //构造空二叉树
  22. void CreateBiTree( BiTree &T ); //创建中序二叉树
  23. void InOrderTraverse( BiTree T ); //中序递归法遍历二叉树
  24. int BiTreeDepth( BiTree T ); //求树的高度
  25. int BiTreeLeaves( BiTree T ); //求叶子数目
  26. void PreOrderTraverse( BiTree T ); //前序非递归遍历二叉树
  27. void InOrderTraverse2( BiTree T ); //中序非递归法遍历二叉树
  28. void PostOrderTraverse( BiTree T ); //后序非递归遍历二叉树
  29. void LevelOrderTraverse( BiTree T );//层次遍历二叉树
  30. #endif