用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

非递归后序遍历二叉树

2012-10-09 作者: 神马举报

[c]代码库

void NRPostOrder ( BiTree bt )
/*非递归后序遍历二叉树bt*/
{
	stacktype stack[MAXNODE];
	BiTree p;
	int top,sign;
	if ( bt==NULL ) return;
	top=-1 /*栈顶位置初始化*/
	    p=bt;
	while ( ! ( p==NULL && top==-1 ) )
	{
		if ( p!=NULL ) /*结点第一次进栈*/
		{
			top++;
			stack[top].link=p;
			stack[top].flag=1;
			p=p->lchild; /*找该结点的左孩子*/
		}
		else
		{
			p=stack[top].link;
			sign=stack[top].flag;
			top--;
			if ( sign==1 ) /*结点第二次进栈*/
			{
				top++;
				stack[top].link=p;
				stack[top].flag=2; /*标记第二次出栈*/
				p=p->rchild;
			}
			else
			{
				Visite ( p->data ); /*访问该结点数据域值*/
			}
		}
	}
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...