📄 threadbintreenode.h
字号:
/*--------------------------------------------------------
文件名:ThreadBinTreeNode.h
作用:定义了线索二叉树的树节点类
作者:谢亚龙
创建日期:2008年5月23日
最后修改日期:2008年5月23日
--------------------------------------------------------*/
#ifndef _THREADBINTREENODE
#define _THREADBINTREENODE
#include "stdafx.h"
#include <iostream>
using namespace std;
template<class Elem>
class ThreadBinTreeNode
{
private:
ThreadBinTreeNode* left;//左指针,指向左孩子
ThreadBinTreeNode* right;//右指针,指向右孩子
bool lTag;//左标记位 lTag = 0 表示左指针指向的为子节点,lTag = 1表示指向的为线索
bool rTag;//右标记位
Elem value;//节点存放的元素值
public:
ThreadBinTreeNode():left(NULL),right(NULL),lTag(0),rTag(0){};//缺省构造函数
ThreadBinTreeNode(Elem& v):value(v),left(NULL),right(NULL),lTag(0),rTag(0){};//带值构造函数
~ThreadBinTreeNode();//析构函数
ThreadBinTreeNode<Elem>* Left()const//得到当前节点的左子节点的地址
{
return left;
}
ThreadBinTreeNode<Elem>* Right()const//得到当前节点的右子节点的地址
{
return right;
}
void SetLeft(ThreadBinTreeNode<Elem>* p)//设定左子节点
{
left = p;
}
void SetRight(ThreadBinTreeNode<Elem>* p)//设定右子节点
{
right = p;
}
Elem GetValue()const//得到但前节点的元素值
{
return value;
}
void SetValue(Elem& e)//设顶当前节点的元素值
{
value = e;
}
void LTag(bool b){ lTag = b; }//设定左标志
void RTag(bool b){ rTag = b; }//设定右标志
bool LTag()const{ return lTag; }//得到左标记值
bool RTag()const{ return rTag; }//得到右标记值
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -