二叉树反向遍历

//编写一道自下而上,从右至左的二叉树层次遍历
#include<stdio.h>
 typedef struct BiTree()
 {
    int data;
    struct BiTree *lchild,*rchild;
 }BiTNode,*BiTree;

 void RelevelOrder(BiTree T)
 {
    InitStack(S);
    InitQueue(Q);
    BiTree q = T;
    EnQueue(Q,T);
    while(!IsEmpty(Q))
    {
        DeQueue(Q,q);
        Push(S,q);
        if(q->lchild!=NULL)
        {
            EnQueue(Q,q->lchild);
        }   
        if(q->rchild!=NULL)
        {
            EnQueue(Q,q->rchild)
        }
    }
    while(!IsEmpty(S))
    {
        Pop(S,q);
        visit(q);
    }
 }

你可能感兴趣的:(C,数据结构)