二叉树的遍历
递归的方法实现二叉树的拷贝
//二叉树的拷贝
pBTNode CopyBinTree(pBTNode pRoot)
{
pBTNode pNewRoot = NULL;
if(pRoot)
{
//拷贝当前数的根节点
pNewRoot = BuyBinTreeNode(pRoot->_data);
//拷贝根节点的左子树
pNewRoot->_pLeft = CopyBinTree(pRoot->_pLeft);
//拷贝根节点的右子树
pNewRoot->_pRight = CopyBinTree(pRoot->_pRight);
}
return pNewRoot;
}
pBTNode BuyBinTreeNode(BTDataType data)
{
pBTNode pNewNode = (pBTNode)malloc(sizeof(BTNode));
assert(pNewNode);
pNewNode->_data = data;
pNewNode->_pLeft = NULL;
pNewNode->_pRight = NULL;
return pNewNode;
}