#include<bits/stdc++.h>
template<typename T>
class tree
{
private:
struct Node
{
T val;
Node* left;
Node* right;
Node(T _val_)
{
val=_val_;
}
};
typedef Node* pNode;
typedef T tree_typename;
void Preorder(pNode Root)
{
if (Root==NULL||Root==0)
return;
std::cout<<Root->val<<' ';
Preorder(Root->left);
Preorder(Root->right);
}
void Inorder(pNode Root)
{
if (Root==NULL||Root==0)
return;
Inorder(Root->left);
std::cout<<Root->val<<' ';
Inorder(Root->right);
}
void Postorder(pNode Root)
{
if (Root==NULL||Root==0)
return;
Postorder(Root->left);
Postorder(Root->right);
std::cout<<Root->val<<' ';
}
public:
pNode __tree__;
tree()
{
__tree__=new Node(NULL);
__tree__.left==new Node(NULL);
__tree__.right==new Node(NULL);
}
tree(tree_typename val_)
{
if (val_==0)
throw;
__tree__=new Node(val_);
}
pNode build_(tree_typename val_)
{
if (val_==0)
throw;
return new Node(val_);
}
void Preorder()
{
Preorder(__tree__);
}
void Inorder()
{
Inorder(__tree__);
}
void Postorder()
{
Postorder(__tree__);
}
~tree()
{
delete __tree__;
}
};
有没有dalao能给这个模板加上delete(pNode Root)呀(qwq)