数据结构实验之二叉树五:层序遍历

来源:互联网 发布:ssh连接阿里云服务器 编辑:程序博客网 时间:2024/06/07 00:25

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int i;
char s[60];
typedef struct BiTNode{
    char data;
    BiTNode *lchild, *rchild;
}BiTNode, *BiTree;
BiTNode *createtree(BiTree &T)
{
    char ch = s[i++];
    if(ch == ',')
    T = NULL;
    else
    {
        T = new BiTNode;
        T->data = ch;
        T->lchild = createtree(T->lchild);
        T->rchild = createtree(T->rchild);
    }
    return T;
}
void f(BiTree T)
{
    int i = 0, j = 0;
    BiTNode *t[100];
    t[i++] = T;
    while(i > j)
    {
        if(t[j])
        {
            printf("%c",t[j]->data);
            t[i++] = t[j]->lchild;
            t[i++] = t[j]->rchild;
        }
        j++;
    }
}
int main()
{
    int n;
    scanf("%d",&n);
    while(n--)
    {
        i = 0;
        BiTNode *T;
        scanf("%s",s);
        T = createtree(T);
        f(T);
        printf("\n");
    }
    return 0;
}

阅读全文
0 0
原创粉丝点击