数据结构和二叉树操作的封装

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:将新节点的地址存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值