📄 tree.h
字号:
#ifndef TREE_H
#define TREE_H
#include "node.h"
#include<string>
typedef void (*Function)(void* node); //声明函数指针
template <class T>
class Tree
{
Node<T>* _root; //指向根结点的头指针
T* _tempData; //结点数据域中的数据
public:
Tree(T* data) {_root = new Node<T>(data);} //有参构造函数,初始化一棵树的根结点
~Tree(void) {Release(_root);} //析构函数,释放树中各结点的存储空间
void Insert(T* oldData, T* newData); //插入函数
void Delete(T* data); //删除树中某结点及其孩子结点
void Update(T* oldData, T* newData); //修改函数
Node<T>* FindNode(std::string position,Function function); //查询函数
void LeverOrder(Function function); //层序遍历树
private:
void Release(Node<T>* node); //析构函数调用
Node<T>* FindNode(T* data); //插入函数调用
void InsertBrother(Node<T>* node,T* data); //插入兄弟结点点
void InsertChild(Node<T>* node, T* data); //插入第一个孩子结点
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -