=w=这个以前中后三种方式遍历二叉树的代码,为什么中序遍历和后序遍历输出结果是错误的?
答案:1 悬赏:0
解决时间 2021-01-28 09:42
- 提问者网友:蓝莓格格巫
- 2021-01-27 19:26
=w=这个以前中后三种方式遍历二叉树的代码,为什么中序遍历和后序遍历输出结果是错误的?
最佳答案
- 二级知识专家网友:末日狂欢
- 2021-01-27 19:52
哈哈 我第一次也是这个错误
偷懒在dfs的时候复制了前序的函数名字6次
所以你看你中序和后序的代码里的递归调的都是前序的函数名
//中序遍历
void InOrderTraverse(BiTree T){
if(T){
PreOrderTraverse(T->lchild);
printf("%c",T->data);
PreOrderTraverse(T->rchild);
}
}
偷懒在dfs的时候复制了前序的函数名字6次
所以你看你中序和后序的代码里的递归调的都是前序的函数名
//中序遍历
void InOrderTraverse(BiTree T){
if(T){
PreOrderTraverse(T->lchild);
printf("%c",T->data);
PreOrderTraverse(T->rchild);
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯