实现对二叉树的操作算法

来源:百度知道 编辑: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