用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


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

非递归先序遍历二叉树

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

[c]代码库

void NRPreOrder(BiTree bt)
{/*非递归先序遍历二叉树*/
    BiTree stack[MAXNODE],p;
    int top;
    if ( bt==NULL ) return;
    top=0;
    p=bt;
    while ( ! ( p==NULL&&top==0 ) )
{
	while ( p!=NULL )
		{
			Visite ( p->data ); /*访问结点的数据域*/
			if ( top<MAXNODE-1 ) /*将当前指针p 压栈*/
			{
				stack[top]=p;
				top++;
			}
			else
			{
				printf ( “栈溢出” ) ;
				return;
			      }
			      p=p->lchild; /*指针指向p 的左孩子*/
		        }
		        if ( top<=0 ) return; /*栈空时结束*/
		else
		{
			top--;
			p=stack[top]; /*从栈中弹出栈顶元素*/
			p=p->rchild; /*指针指向p 的右孩子结点*/
		}
	}
}


网友评论    (发表评论)


发表评论:

评论须知:

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


扫码下载

加载中,请稍后...

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

加载中,请稍后...