实现对二叉树的操作算法
来源:百度知道 编辑:UC知道 时间:2024/05/03 08:33:21
实现对二叉树的操作算法实现
程序1:
//定义二叉树结点结构和操作的头文件btree1.h
//定义二叉树结点值的类型为字符型
typedef char ElemType;
//定义二叉树结点类型
struct BTreeNode {
ElemType data;
BTreeNode* left;
BTreeNode* right;
};
//初始化二叉树,即把树根指针置空
void InitBTree(BTreeNode*& BT);
//根据存于字符数组a的二叉树广义表建立对应的二叉树存储结构
void CreateBTree(BTreeNode*& BT, char* a);
//判断二叉树是否为空
bool BTreeEmpty(BTreeNode* BT);
//按任一种遍历次序输出二叉树中的所有结点
void TraverseBTree(BTreeNode* BT, int mark);
//求二叉树的深度
int BTreeDepth(BTreeNode* BT);
//求二叉树中所有结点数
int BTreeCount(BTreeNode* BT);
//求二叉树中所有叶子结点数
int BTreeLeafCount(BTreeNode* BT);
//按照二叉树的一种表示方法输出整个二叉树
void PrintBTree(BTreeNode* BT);
//清除二叉树,使之变为一棵空树
void ClearBTree(BTreeNode*& BT);
//二叉树操作的实现文件btr