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

来源:互联网 发布:网络用语lq什么意思 编辑:程序博客网 时间:2024/05/22 17:26

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

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description

已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。

Input

 输入数据有多行,第一行是一个整数t (t<1000),代表有t行测试数据。每行是一个长度小于50个字符的字符串。

Output

 输出二叉树的层次遍历序列。

Example Input

2abd,,eg,,,cf,,,xnl,,i,,u,,

Example Output

abcdefgxnuli
#include<stdio.h>struct node{    int data;    struct node *l,*r;};char s[1110];struct node *p[1110];int cnt;struct node *creat(){    struct node*t;    if(s[++cnt]==',')    {        t=NULL;    }    else    {        t= new node;        t->data=s[cnt];        t->l=creat();        t->r=creat();    }    return t;};void cenci(struct node *root){    int tail=0,head=0;    p[tail++] = root;    while(tail>head)    {        if(p[head])        {            printf("%c",p[head]->data);            p[tail++]=p[head]->l;            p[tail++]=p[head]->r;        }        head++;    }}int main(){    int t;    scanf("%d",&t);    while(t--)    {        cnt=-1;        scanf("%s",s);        struct node* root;        root = creat();       cenci(root);       printf("\n");    }return 0;}


0 0
原创粉丝点击