数据结构实验之二叉树五:层序遍历
来源:互联网 发布:mac画网络拓扑图 编辑:程序博客网 时间:2024/06/16 14:18
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>#include<string.h>#include<stdlib.h>#define maxsize 50typedef struct node{ char data; struct node *lc,*rc;}bitree;bitree *queue[51];int front=0,rear=0;int i=-1;bitree * pre_create(char str[51]){ bitree * t; if(str[++i]!=',') { t=(bitree *)malloc(sizeof(bitree)); t->data=str[i]; t->lc=pre_create(str); t->rc=pre_create(str); } else { t=NULL; } return t;}void enter_queue(bitree * t){ if((rear+1)%maxsize!=front) { rear=(rear+1)%maxsize; queue[rear]=t; }}bitree * delete_queue(bitree * t){ if(rear!=front) { front=(front+1)%maxsize; return queue[front]; }}void level_order(bitree * t){ bitree * p; if(t) { enter_queue(t); } while(front!=rear) { p=delete_queue(t); printf("%c",p->data); if(p->lc) { enter_queue(p->lc); } if(p->rc) { enter_queue(p->rc); } }}int main(){ int t; char str[51]; bitree *tree; scanf("%d",&t); while(t--) { i=-1; scanf("%s",str); tree=pre_create(str); level_order(tree); printf("\n"); } return 0;}
0 0
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数字冰雹创始人邓潇专访:2017大数据可视化的关键技术及行业应用
- java 文件下载 文件名称中文不显示
- 验证登陆信息的合法性
- 事务基础
- 一些常用函数
- 数据结构实验之二叉树五:层序遍历
- LeetCode 143. Reorder List
- Qt编译xp平台程序
- 图片裁剪插件Jcrop.js的使用
- Echarts的使用。
- pwnable.kr-random-Writeup
- Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程
- 求二叉树的层次遍历
- ubuntu apt-get 安装的路径