二叉树的层序遍历C/C++

typedef char Element;
struct Node;
typedef struct Node *BTree;
struct Node{
    Element data;
    struct Node *lchild;
    struct Node *rchild;
}; 

BTree NewNode(Element x)
{
    BTree p=(BTree)malloc(sizeof(struct Node));
    p->data=x;
    p->lchild=NULL;
    p->rchild=NULL;
    return p;
}

void Level_Order(BTree root)
{
    BTree t;
    queue q;
    q.push(root);
    while(!q.empty()){
        t=q.front();
        q.pop();
        printf("%c",t->data);
        if(t->lchild!=NULL)
            q.push(t->lchild);
        if(t->rchild!=NULL)
            q.push(t->rchild);   
    } 
}
 

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