📄 tree1.h
字号:
#include <iostream.h>
#include "TreeNode1.h"
class Tree1
{
public:
TreeNode1 *root;
Tree1(char *str="");
~Tree1();
TreeNode1 *create(char *str);
void destroy(TreeNode1 *p);
void preorder();
void inorder();
void postorder();
};
void Tree1::preorder()
{
cout<<"preorder: ";
root->preorderChild(root);
cout<<endl;
}
void Tree1::inorder()
{
cout<<"inorder: ";
root->inorderChild(root);
cout<<endl;
}
void Tree1::postorder()
{
cout<<"postorder: ";
root->postorderChild(root);
cout<<endl;
}
Tree1::Tree1(char *str)
{
root=NULL;
if(str!="")
{
cout<<"创建二叉树: "<<endl;
root=create(str);
cout<<endl;
}
}
TreeNode1 *Tree1::create(char *str)
{
TreeNode1 *p=NULL;
static int i=0;
cout<<"调用"<<str[i]<<endl;
if(str[i]!='.')
{
p=new TreeNode1(str[i]);
i++;
p->left=create(str);
p->right=create(str);
}
else
i++;
if(p==NULL)
cout<<"return"<<NULL<<endl;
else
cout<<"return"<<p->data<<endl;
return p;
}
Tree1::~Tree1()
{
cout<<"cancel the tree: ";
destroy(root);
root=NULL;
cout<<endl;
}
void Tree1::destroy(TreeNode1 *p)
{
if(p!=NULL)
{
destroy(p->left);
destroy(p->right);
cout<<p->data<<" ";
delete p;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -