树结构练习——排序二叉树的中序遍历
来源:互联网 发布:淘宝订单状态 编辑:程序博客网 时间:2024/06/05 01:18
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 <iostream>using namespace std;typedef struct BiTNode{ int data; struct BiTNode *lchild; struct BiTNode *rchild;}BiTNode,*BiTree;int ans;int n;//创建二叉树BiTree Insert(BiTree T,int key){ if(T==NULL){ BiTree p = new BiTNode; p->data = key; p->lchild = NULL; p->rchild = NULL; T = p; } else{ if(key<T->data) T->lchild = Insert(T->lchild,key); else T->rchild = Insert(T->rchild,key); } return T;}void InOrder(BiTree T){ if(T){ InOrder(T->lchild); ans++; if(ans==n) cout<<T->data; else cout<<T->data<<" "; InOrder(T->rchild); }}int main(){ while(cin>>n){ BiTree T = NULL; ans = 0; for(int i = 0;i<n;i++){ int key; cin>>key; T = Insert(T,key);//返回根节点 } InOrder(T); cout<<endl; } return 0;}
阅读全文
0 0
- 树结构练习-排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- SDUTOJ 2128 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历 SDUT
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历
- 树结构练习——排序二叉树的中序遍历(sdut_2128)
- SDUT 2128 树结构练习——排序二叉树的中序遍历
- org.apache.jasper.JasperException: java.lang.ClassCastException
- Redis
- 欧拉回路,欧拉路径,欧拉图详解
- 够壕!支付宝新楼“蚂蚁Z空间”启用 网友:公司缺人吗
- 请求服务器数据-------开源项目asyncHttpClient
- 树结构练习——排序二叉树的中序遍历
- MTK 6735平台 低电量强开闪光灯
- Hadoop数据类型
- SecureCRT WIN10下详细图文破解方法
- java socket模拟http请求
- Mustache模板引擎使用实例1-表格树
- 图片加载使用Application
- 单例模式
- java8 lambuda表达式