大家都知道二叉树最大的特点即只有两个节点,因此可以大致构建这一个二叉树类:
#ifndef TREE_H
#define TREE_H
class Tree
{
public:
int data; //value值
Tree *pleft;//左节点
Tree *pright;//右结点
Tree *pfather//父节点
Tree(int da=0);构造函数
void deleteNode();//删除一个节点函数
Tree *searchNode(int index);//查找一个节点函数
void priorTraverse();//先序遍历
void midiaTraverse();//中序遍历
void afterTraverse();//后序遍历
};
#endif
接下来就可以写对应的实现函数了:
1)首先是构造函数
Tree::Tree(int da) {
data = da;
pleft = NULL;
pright = NULL;
pfather=NULL;
}
2)节点删除函数
void Tree::deleteNode() {
if (this->pleft != NULL)
{
this->pleft->deleteNode();
}
if (this->pright != NULL) {