void PreOrder()
{
_PreOrder(_pRoot);
cout<<endl;
}
首先,创建二叉树
//-------------孩子表示法---------------
//节点
template <typename T>
struct BinaryTreeNode
{
BinaryTreeNode(const T& value):_value(value),_pLeft(NULL),_pRight(NULL)
{
}
T _value;
BinaryTreeNode<T>* _pLeft;//左孩子
BinaryTreeNode<T>* _pRight;//右孩子
};
//二叉树
template <class T>
class BinaryTree
{
typedef BinaryTreeNode<T> Node;
public:
BinaryTree():_pRoot(NULL)
{
}
BinaryTree(const T* arr,size_t size,const T& invalid)
{
size_t index=0;
_CreateBinaryTree(_pRoot,arr,size,index,invalid);
}
private: //创建树 void _CreateBinaryTree(Node*&am