二叉树查找结点,输出不了
#include "BiTree.h"
int main()
{
BTNode *root;
ElemType A[] = "ABD##E##C#F##"; //以"#"补全空分支后的前序遍历序列
InitBTree(root); //初始化空二叉树
CreateBTree_Pre(root, A); //以前序遍历序列建立二叉树
cout << "前序遍历序列:";
PreOrder(root); //输出前序遍历序列
cout << endl;
cout << "深度:" << BTreeDepth(root) << endl; //计算二叉树深度
cout << "结点总数为:" << NodeCount(root) << endl;
cout << findNode(root, 'A');
ClearBTree(root);
return 0;
}
void findNode(BTNode* root, ElemType item)
{
BTNode* ret =NULL;
if (root != NULL) // 查找的不是空结点
{
if (root->data == item) // 根结点值相等,则找到了
{
ret = root;
}
else
{
if (ret == NULL) // 根结点没有查到,查左子树
{
return findNode(root->left, item);
}
if (ret == NULL)
{
return findNode(root->right, item);
}
}
}
}