📄 9-11.h
字号:
//9-11.h
#ifndef TREENODE_CLASS
#define TREENODE_CLASS
#ifndef NULL
const int NULL = 0;
#endif // NULL
template <class T>
class TreeNode
{
private:
TreeNode<T> *left; //左指针
TreeNode<T> *right; //右指针
public:
T data; //结点数据
// 构造函数
TreeNode (const T& item, TreeNode<T> *lptr = NULL,
TreeNode<T> *rptr = NULL);
// 访问指针域的函数
TreeNode<T>* Left(void) const; //取得左指针
TreeNode<T>* Right(void) const; //取得右指针
// 删除当前结点的左右子树
void release();
};
// 构造函数,初始化数据域和指针域
template <class T>
TreeNode<T>::TreeNode (const T& item, TreeNode<T> *lptr,
TreeNode<T> *rptr): data(item), left(lptr), right(rptr)
{}
//取得左指针
template <class T>
TreeNode<T>* TreeNode<T>::Left(void) const
{
return left;
}
//取得右指针
template <class T>
TreeNode<T>* TreeNode<T>::Right(void) const
{
return right;
}
// 删除当前结点的左右子树
template <class T>
void TreeNode<T>::release()
{
if(left)
{ //删除左子树
left->release();
delete left;
left=NULL;
}
if(right)
{ //删除右子树
right->release();
delete right;
right=NULL;
}
}
#endif // TREENODE_CLASS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -