数据结构实验之二叉树五:层序遍历
来源:互联网 发布:网络身份认证技术 编辑:程序博客网 时间:2024/06/07 02:37
数据结构实验之二叉树五:层序遍历
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic
Problem Description
已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。
Input
输入数据有多行,第一行是一个整数t (t<1000),代表有t行测试数据。每行是一个长度小于50个字符的字符串。
Output
输出二叉树的层次遍历序列。
Example Input
2
abd,,eg,,,cf,,,
xnl,,i,,u,,
Example Output
abcdefg
xnuli
Hint
Author
xam
#include<stdio.h>#include<stdlib.h>#include<string.h>struct node{ char data; struct node *lchild,*rchild;};char a[55];int n,i;struct node *creat()//按照先序建立树{ struct node *t; char e; e = a[i++]; if(e==',')return t = NULL; else { t = (struct node *)malloc(sizeof(struct node)); t -> data = e; t -> lchild = creat(); t -> rchild = creat(); } return t;}void output(struct node *t){ int i = 0,j = 1; struct node *b[55];//建立结构体数组 b[0] = t; while(i < j) { if(b[i]) { printf("%c",b[i]->data); b[j++] = b[i] -> lchild;//若结点不为空,则下一个数组元素存左孩子 b[j++] = b[i] -> rchild;//存右孩子的地址; } i++; }}int main(){ while(~scanf("%d",&n)) { while(n--) { struct node *T; i = 0; scanf("%s",a); T = creat(); output(T); printf("\n"); } } return 0;}
阅读全文
0 0
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- DevOps和云计算在一起至关重要
- Druid--基本配置及内置监控使用
- poj
- ros学习笔记(2):编写publisher
- 洛谷P1802 5倍经验日
- 数据结构实验之二叉树五:层序遍历
- CoordinatorLayout 的属性
- SLAM介绍
- 应用层笔记
- wait ,notfiy 配合synchronized关键字使用,wait立即释放锁,而notify并不立即释放
- 用c语言编写求n的k次方函数,用迭代和递归两种方法
- Druid Monitor监控JavaSE和JavaWeb
- 分蛋糕
- 笔记————C#与 Access数据库的连接与修改