树结构练习——排序二叉树的中序遍历
来源:互联网 发布:小狐狸 for mac 编辑:程序博客网 时间:2024/06/04 00:21
树结构练习——排序二叉树的中序遍历
Time Limit: 1000MS Memory Limit: 65536KB
Problem Description
在树结构中,有一种特殊的二叉树叫做排序二叉树,直观的理解就是——(1).每个节点中包含有一个关键值 (2).任意一个节点的左子树(如果存在的话)的关键值小于该节点的关键值 (3).任意一个节点的右子树(如果存在的话)的关键值大于该节点的关键值。现给定一组数据,请你对这组数据按给定顺序建立一棵排序二叉树,并输出其中序遍历的结果。
Input
输入包含多组数据,每组数据格式如下。
第一行包含一个整数n,为关键值的个数,关键值用整数表示。(n<=1000)
第二行包含n个整数,保证每个整数在int范围之内。
Output
为给定的数据建立排序二叉树,并输出其中序遍历结果,每个输出占一行。
Example Input
1
2
2
1 20
Example Output
2
1 20
#include <bits/stdc++.h>using namespace std;typedef struct node{ int data; struct node *lchild, *rchild;}BiTNode, *BiTree;void createBiTree(BiTree &T, int a){ if(T == NULL) { T = (BiTNode *)malloc(sizeof(BiTNode)); T -> data = a; T -> lchild = NULL; T -> rchild = NULL; } else { if(a <= T -> data) createBiTree(T -> lchild,a); else createBiTree(T -> rchild,a); }}int flag;void mid(BiTree T){ if(T) { mid(T -> lchild); if(T) { if(flag) { flag = 0; cout << T -> data; } else cout << " " << T -> data; } mid(T -> rchild); }}int main(){ BiTree T; int n, a; while(cin >> n) { T = NULL; for(int i = 0; i < n; i++) { cin >> a; createBiTree(T,a); } flag = 1; mid(T); cout << endl; } return 0;}
阅读全文
0 0
- 树结构练习-排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历 SDUT
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历(sdut_2128)
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- 架构师日记——规划Varnish的缓存大小和提高命中率
- Catch That Cow
- Highcharts 配置语法
- 请求参数预处理(pre-request)
- python入门笔记
- 树结构练习——排序二叉树的中序遍历
- 拦截导弹系列
- wordpress优化禁止直接通过ip访问防止恶意解析
- 数据库学习纪要(四):hive-4
- 华为2018优招笔试题
- 示波器空载时有纹波
- UVA
- springmvc 全部约束
- java基础学习总结一 、我们创建的对象和引用可以被程序存储在什么地方