SDUT OJ 数据结构实验之二叉树五:层序遍历
来源:互联网 发布:杭州淘宝代运营 编辑:程序博客网 时间:2024/05/17 09:44
数据结构实验之二叉树五:层序遍历
Time Limit: 1000MS Memory limit: 65536K
题目描述
已知一个按先序输入的字符序列,如abd,,eg,,,cf,,,(其中,表示空结点)。请建立二叉树并求二叉树的层次遍历序列。
输入
输入数据有多行,第一行是一个整数t (t<1000),代表有t行测试数据。每行是一个长度小于50个字符的字符串。
输出
输出二叉树的层次遍历序列。
示例输入
2abd,,eg,,,cf,,,xnl,,i,,u,,
示例输出
abcdefgxnuli
#include <stdio.h>#include <stdlib.h>#include <iostream>#include <queue>using namespace std;struct node{ char data; struct node *l,*r;};struct node *root;char st[51];int cnt;struct node *creat(){ struct node *root; if(st[cnt++] == ',') root = NULL; else { root = (struct node *)malloc(sizeof(struct node)); root->data = st[cnt - 1]; root->l = creat(); root->r = creat(); } return root;}void cengci(struct node *root){ queue<node *>s; if(root) { cout<<root->data; s.push(root); //输出根结点,并入队 } while(!s.empty()) { root = s.front(); // 访问队首,并删除(也就是第一个头根) s.pop(); if(root->l) { printf("%c",root->l->data); // 从此头跟的左子树,依次输出 s.push(root->l); } if(root->r) { printf("%c",root->r->data); // 从此头跟的右子树,依次输出 s.push(root->r); } }}int main(){ int t; scanf("%d",&t); while(t--) { cnt = 0; scanf("%s",st); root = creat(); cengci(root); cout<<endl; } return 0;}
0 0
- SDUT OJ 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历 (sdut OJ 3344)
- SDUT 3344 数据结构实验之二叉树五:层序遍历
- SDUT 3344 数据结构实验之二叉树五:层序遍历
- sdut oj3344 数据结构实验之二叉树五:层序遍历
- SDUT 3344 数据结构实验之二叉树五:层序遍历
- SDUT-3344 数据结构实验之二叉树五:层序遍历
- [SDUT](3344)数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- C++插入排序的递归算法
- flash 五子棋的总结
- 极角排序题集
- 网络采集器Demo:Jsoup+Java多线程实现[爬虫](下)
- js正则表达式总结
- SDUT OJ 数据结构实验之二叉树五:层序遍历
- php页面间传值的6种方法
- 【Linux下安装配置】锐捷客户端安装
- 百度DSP推广主题
- 快速求幂算法
- win64,mysql5.7.9安装
- Zoj1051 A New Growth Industry
- 606第十周周六赛G - Verdis Quo罗马数字表示
- Unity3D屏幕模糊Sharder