鱼C论坛

 找回密码
 立即注册
查看: 2396|回复: 2

二叉树后序非递归遍历

[复制链接]
发表于 2012-4-22 22:26:20 | 显示全部楼层 |阅读模式
1鱼币
void PostOrderTraverse(BiTree T)//后序遍历非递归算法
{
SqStack S;
InitStack(S);
BiTree temp=T;
  BiTree p;
BiTree lastvist = NULL;
p=T;
while (p||!StackEmpty(S))
{
  
  while (p)
  {
   Push(S,p);  
   p= p->lchild;
  }
  GetTop(S,p);  
     if (p->rchild==NULL||p->rchild==lastvist)
   
  {   
   printf("%c",p->data);
   Pop(S,lastvist);
  }
  else
  
p = p->rchild;
  
}
}
Status CreateBiTree(BiTree &T)
{
char ch;
scanf("%c",&ch);
if(ch==' ')T=NULL;
else
{
  if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))exit(OVERFLOW);
  T->data=ch;
  CreateBiTree(T->lchild);
  CreateBiTree(T->rchild);
}
return OK;
}
大家看看这代码那错了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-4-22 22:27:23 | 显示全部楼层
看后续遍历
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-4 16:41:46 | 显示全部楼层
学习学习
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 01:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表