Binary_tree_utility.h
说明:以下代码为二叉树的类封装以及基本的二叉树操作(本代码可继承可修改)
#include "stdafx.h"
#include <vector>
#include <iostream>
using namespace std;
/******
*TreeNode: 二叉树节点
*Infomation:基本的操作都经过严格封装,保持底层代码的纯洁
********/
class TreeNode
{
public :
/******
*指令:typedef int value_type;
*Infomation: 将int类型作为数值类型,便于全文使用,可修改成其他类型
*******/
typedef int value_type;
TreeNode(){
this->LNode =NULL;this->RNode =NULL;};
~TreeNode(){};
/******
*Description:返回左子树的地址引用,为了可以修改
*Return: 根节点下左子树的地址引用
*******/
TreeNode *&GetLN()
{
return this->LNode;
}
/******
*Description:返回右子树的地址引用,为了可以修改
*Return: 根节点下右子树的地址引用
*******/
TreeNode *&GetRN()
{
return this->RNode;
}
/******
*Description:读取节点值,值的类型为value_type类型
*Return: 根节点值
*******/
value_type ReadValue() const
{
return this->value;
}
/******
*Description:读取常量类型的左子树地址(不可修改)
*Return: 常量类型的左子树地址(不可修改)
*******/
TreeNode *ReadLN() const
{
return this->LNode;
}
/******
*Description:读取常量类型的右子树地址(不可修改)
*Return: 常量类型的右子树地址(不可修改)
*******/
TreeNode *ReadRN() const
{
return this->RNode;
}
/******
*Description:给节点赋值
*Return: void
*******/
void SetValue(value_type v)
{
this->value = v;
}
/******
*Description:将新节点的地址存到左子树中
*Return: void
*******/
void SetLN(TreeNode *ltn)
{
this->LNode = ltn;
}
/******
*Description:将新节点的地址存

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



