📄 binarytree_h.h
字号:
#ifndef BINARYTREE_H
#define BINARYTREE_H
#include"System.h"
#include"TreeNode_cpp.h"
template<class T>
class BinaryTree_T
{
public:
BinaryTree_T(void);
BinaryTree_T(const T &element);
BinaryTree_T(const BinaryTree_T<T> &bt);
~BinaryTree_T(void);
//赋值
BinaryTree_T<T>& operator=(const BinaryTree_T<T>& bt);
TreeNode_T<T>* CopyBinaryTree(TreeNode_T<T>*ptr);
//构造二叉树
void MakeTree(const T&data,BinaryTree_T<T>&lhs,BinaryTree_T<T>&rhs);
//前置条件:当前树为空 lhs rhs 不等
//后置条件:lhs rhs 为空
//拆开二叉树
void BreakTree(T&data,BinaryTree_T<T>&lhs,BinaryTree_T<T>&rhs);
//前置条件:当前树非空,rhs lhs为空,且不等
//后置条件:当前树指空
//树的遍历
void PreOrder(void);//前序
void InOrder(void);//中序
void PostOrder(void);//后序
//清空
void Clear(void);
//访问节点
void Visit(const TreeNode_T<T>*ptr);
//得到树的根结点
TreeNode_T<T>* GetTreeNode(void);
protected:
TreeNode_T<T>* m_root;
private:
void PreOrder(TreeNode_T<T>*ptr);
void InOrder(TreeNode_T<T>*ptr);
void PostOrder(TreeNode_T<T>*ptr);
void Clear(TreeNode_T<T>*ptr);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -