就业数据资源平台
当前位置:首页 > 笔试题目
先序遍历非递归算法


先序遍历非递归算法


#define maxsize 100

typedef struct

{

    Bitree Elem[maxsize];

    int top;

}SqStack;


void PreOrderUnrec(Bitree t)

{

    SqStack s;

    StackInit(s);

    p=t;

    while (p!=null || !StackEmpty(s))

    {

        while (p!=null)            //遍历左子树

        {

            visite(p->data);

            push(s,p);

            p=p->lchild;     

        }//endwhile

       

        if (!StackEmpty(s))        //通过下一次循环中的内嵌while实现右子树遍历

        {

            p=pop(s);

            p=p->rchild;      

        }//endif           

    }//endwhile   

}//PreOrderUnrec


 


就业数据资源平台