数据结构实验之二叉树五:层序遍历
来源:互联网 发布:centos设置静态ip地址 编辑:程序博客网 时间:2024/06/07 07:00
数据结构实验之二叉树五:层序遍历
Time Limit: 1000MS Memory Limit: 65536KB
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
#include <bits/stdc++.h>using namespace std;typedef struct node{ char data; struct node *lchild, *rchild;} BiTNode, *BiTree;char front[110];int i;int CreateBiTree(BiTree &T) //建立二叉树{ char data; data = front[i++]; if(data == ',') { T = NULL; } else { T = (BiTNode *)malloc(sizeof(BiTNode)); T -> data = data; CreateBiTree(T -> lchild); CreateBiTree(T -> rchild); } return 0;}void degree(BiTree T) //层序遍历{ queue<BiTree>q; BiTree p = NULL; if(T) q.push(T); while(!q.empty()) { p = q.front(); q.pop(); cout << p -> data; if(p -> lchild) q.push(p -> lchild); if(p -> rchild) q.push(p -> rchild); }}int main(){ BiTree T; int n; while(cin >> n) { while(n--) { cin >> front; i = 0; CreateBiTree(T); degree(T); cout << endl; } } return 0;}
数组
#include <bits/stdc++.h>using namespace std;typedef struct node{ char data; struct node *lchild, *rchild;} BiTNode, *BiTree;char front[110];int i;void createBiTree(BiTree &T){ char data = front[i++]; if(data == ',') T = NULL; else { T = (BiTree)malloc(sizeof(BiTNode)); T -> data = data; createBiTree(T -> lchild); createBiTree(T-> rchild); }}void ceng(BiTree T){ int in = 0, out = 0; struct node *q[110]; q[in++] = T; while(in > out) { if(q[out]) { cout << q[out] -> data; q[in++] = q[out] -> lchild; q[in++] = q[out] -> rchild; } out++; }}int main(){ int n; cin >> n; while(n--) { BiTree T; i = 0; cin >> front; createBiTree(T); ceng(T); cout << endl; } return 0;}
阅读全文
0 0
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- 数据结构实验之二叉树五:层序遍历
- Cheapest Palindrome
- vue.js+webpack 实现模块化
- HDU6121 Build a tree(树+异或)
- window7+下部署jekyll,期待吧
- 简单选择排序(Selection Sort)
- 数据结构实验之二叉树五:层序遍历
- MyBatis知识点
- GetWindowsProductKey
- HDU
- Django View
- 移位密码
- 安装dsp builder开发环境
- 问题:Node 127.0.0.1:6379 is not empty. Either the node already knows other nodes (check with CLUSTER N
- bash shell 别名的使用