用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...