问题描述
- 关于二叉树遍历问题,求问错在哪里。。。
-
//二叉树的遍历
//按先序序列建立一棵二叉树,按照ABC@@D@@E@F@@输入字符,@代表层数并查找D所在层数
//定义二叉树
typedef struct BiTNode
{
char data;
struct BiTNode *lchild, *rchild;
}BiTNode,*BiTree;
//按先序创建一棵二叉树
void creatBiTree(BiTree *T)
{
char c;
cin >> c;
if (c == ' ') *T = NULL;
else
{
*T = new BiTNode;
(*T)->data = c;
creatBiTree(&(*T)->lchild);
creatBiTree(&(*T)->rchild);
}
}
void visit(char c, int level)
{
if (c == 'D') cout << c << "在" << level <<"层"<< endl;
}
//先序遍历这棵二叉树
void preOrderTraverse(BiTree T,int level)
{
if (T)
{
visit(T->data, level);
preOrderTraverse(T->lchild, level+1);
preOrderTraverse(T->rchild,level+1);
}
}
int main()
{
int level = 1;
BiTree T = NULL;
creatBiTree(&T);
preOrderTraverse(T, level);
system("pause");
return 0;
}
解决方案
解决方案二:
二叉树的遍历 不知道哪里有问题 求指点
关于二叉树遍历的问题
二叉树遍历问题
----------------------
解决方案三:
代码 没问题啊 我运行的很正常
解决方案五:
没有问题呀,是不是你开发环境的设置问题
时间: 2024-12-03 07:10:29