void createBiTree(TreeNode* &T) //&的意思是传进来节点指针的引用,括号内等价于 BiTreeNode* &T,目的是让传递进来的指针发生改变
{
char c;
cout << "input treeNode:";
cin >> c;
if ('#' == c) //当遇到#时,令树的根节点为NULL,从而结束该分支的递归
T = NULL;
else
{
T = new TreeNode(0);
T->val = c - '0';
createBiTree(T->left);
createBiTree(T->right);
}
}
TreeNode* CreateBiTree()
{
char a;
TreeNode* T;
cin >> a;
if (a == '#')
T = NULL;
else
{
T = (TreeNode*)malloc(sizeof(TreeNode));
T->val = a - '0';
T->left = CreateBiTree();
T->right = CreateBiTree();
}
return T;//返回根节点
}
建立二叉树
最新推荐文章于 2024-03-10 21:38:04 发布